Commit Graph

93 Commits

Author SHA1 Message Date
1767b65846 style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c 2012-10-23 03:38:26 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
c56a911cd9 style cleanup: comments 2012-10-20 20:20:02 +00:00
9f21b799c4 And more UI messages spell check. 2012-10-13 13:40:05 +00:00
9e3e12fa4e Proper fix for #32626: TIFF renders are limited to 8 bit even when we choose 16.
Color management would be applied on both of float and byte buffers on image
save in cases if file format doesn't require linear float buffer and if image
is saving as render result.

This solves both initial report issue and TODO marked in previous fix.

Also de-duplicated image buffer color managing code and gave some more
meaningful names for few functions. Also wrote documentation around this
function, so current assumptions about spaces should be clear enough.

Made regression tests by saving EXR/PNG images to all supported format and
rendering OpenGL/Normal animation, in all cases seems everything is fine,
but more tests for sure would be welcome.
2012-09-24 11:56:07 +00:00
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
502dfcce5f use job types when checking for jobs in areas of the code that made assumptions about job types (that could be wrong) 2012-08-15 10:23:06 +00:00
97859e8709 add wm job types they are not used yet, so this just defines them for new jobs add add argument to search by job type. 2012-08-15 09:42:06 +00:00
1bf893e9c8 Code cleanup: BKE_ prefix for public sequencer functions 2012-08-08 11:15:40 +00:00
93c29aaeb1 Fix #32187: OpenGL preview does not take into account overwrite option 2012-07-27 08:58:34 +00:00
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
468ef74ed7 More spell and typo fixes (mostly visualise->visualize, grey->gray, normalise->normalize). 2012-07-03 19:09:07 +00:00
69fc654f94 Style cleanup: change ffmpeg, avi and frame server api to rna-ish naming style 2012-05-07 09:30:15 +00:00
1dccd4c98a code cleanup: naming - pose/armature/image
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05 16:03:57 +00:00
299ff91ea1 code cleanup: BKE_scene api naming.
also stop numpy from being found in /usr/include with cmake.
2012-05-05 14:33:36 +00:00
4c5502bfd6 code cleanup: function naming for BLI functions. 2012-05-05 00:23:55 +00:00
eec8de9469 Fix #31254: OpenGL-Rendering dark without Effect-Strip
Issue was caused by the fact, that sequencer is working in sRGB space, but
when there's only image input strips we need to make sure conversion from
byte to float buffer would keep float buffer in sRGB space and wouldn't
make it linear as it's supposed to be in other areas.
2012-05-03 11:54:12 +00:00
1b47e2678e style cleanup: missed these from previous cleanup 2012-04-29 17:55:54 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
b56aabf815 style cleanup: multi-line if statements. 2012-04-21 15:11:03 +00:00
fe7f354daa Fix #30900: when opengl offscreen render failed, the wait cursor would incorrectly
stay visible. Patch by Justin Dailey.
2012-04-11 08:27:07 +00:00
66e8efd40c Minor UI messages fix... 2012-04-02 06:56:16 +00:00
9e497291ee support for opengl rendering in the sequencer (header icons as with 3D view).
while opengl could be used for display you couldn't output it to a file.

extended the existing opengl render operator to optionally take input from the sequencer.

notes:
- doesn't redraw in the viewport yet (only output in terminal)
- doesn't do OSA
2012-03-29 23:33:50 +00:00
8ec4371ff1 style cleanup: render 2012-03-29 22:42:32 +00:00
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
4c3bb77012 style cleanup: spaces aroudn operators for operator definitions. 2012-03-22 07:26:09 +00:00
4f19c1a995 spelling cleanup 2012-03-18 07:38:51 +00:00
4f7bdc59d3 style cleanup: spelling.
also remove large, duplicate comments from sunsky.h
2012-03-09 00:41:09 +00:00
e5464db95d Fix for opengl render setting current frame to 0 after finish rendering. 2012-03-07 19:19:58 +00:00
c69e4ef862 Mango request: use active scene clip as background for sequencer scene strip renderer
and opengl renerer when rendering from camera view.

Other usages of offscreen drawing shouldn't be affected by this change.
2012-03-07 17:45:40 +00:00
9d49fa0e63 style cleanup - spelling corrections & update some incorrect comments. 2012-03-03 11:45:08 +00:00
a368e6771a - remove some unused editmesh functions.
- copy & rename EditMesh stricts for use with scanfill (remove unused members)
2012-02-19 22:17:30 +00:00
e1dd245a1e more keymap edits
- make sure defaults are not assumed (so reuse last settings doesnt
override)
- replace 0/1 for TRUE/FALSE defines.
2012-01-16 16:12:03 +00:00
ae9b4b81cb opengl render save ignored alpha settings. also some FILE_MAX defines missed last commit. 2012-01-16 06:43:58 +00:00
4f3de6a741 adjust view3d api function for getting user region to also return view3d since most callers need this too. 2012-01-14 12:24:25 +00:00
fca385ca9a - opengl render in quadview wasn't using camera.
- minor change to FTOCHAR use.
2012-01-14 11:21:00 +00:00
cb145fad01 Fix #29878: running bpy.ops.render.opengl() from console not starting new line
or printing output.
2012-01-13 15:35:36 +00:00
74aede4d71 Fix #29824: Error writing frame if 3D scene starts after first frame of animation and output is H264
Issue was caused by incorrectly set PTS value frames came form Scene strip renderer.
This value used to be calculated from RenderData current and start frame which
lead to non-uniformuly counting which totally confuses encoder.

Switch append_avi and append_ffmpeg to use current frame from rendering scene
(which was already passing to this functions and was used mostly for logging)
and start frame of rendering scene (it's new parameter added). This allowed to
calculate correct PTS value easily and get rid of global static sframe variable
in writeavi.c file.
2012-01-13 09:20:13 +00:00
153be23dbe give a more useful error when attempting to opengl render in background mode.
add some tips to the python docs.
2012-01-13 06:59:16 +00:00
1e3f069379 use render osa setting for opengl render sample count and BLI_jitter for opengl rendering (previously was hard coded at 5). 2012-01-12 17:04:09 +00:00
e0c41e66b8 dont draw object center dot for opengl render 2012-01-09 03:16:30 +00:00
ecd463d20d fix an error rendering opengl weightpaint data wasn't working when python initialized opengl render on startup (needed for testing script). 2012-01-09 02:50:09 +00:00
b9ff5840a6 Code refactoring: add unified image buffer functions for doing float => byte,
byte => float, float => float, byte => byte conversions with profile, dither
and predivide. Previously code for this was spread out too much.

There should be no functional changes, this is so the predivide/table/dither
patches can work correctly.
2011-12-28 13:29:33 +00:00
d949dd6849 Fix #27981: opengl render + render slots not working.
This also revealed an issue where the opengl render float buffer was not linear,
and toggling back to a render slot would show wrong colors. Now it converts the
float buffer to linear so that this goes ok, disadvantage is that it's slower.
2011-11-29 22:37:16 +00:00
6736576f6d replace FILE_MAXDIR + FILE_MAXFILE with FILE_MAX 2011-11-26 04:07:38 +00:00
30fd1ab523 replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to avoid confusion with ImageFormatData.depth 2011-11-21 20:47:19 +00:00
0e2c8cdcdd move image settings into their own structure so the interface can be shared where image saving settings are needed.
currently file out node and render output share this struct & UI.
2011-11-21 20:19:58 +00:00
f1eb66aa68 share code for fluidsim, ocean & dynamic paint file paths.
- use BLI_join_dirfile for joining all paths (no need to ensure slash is appended).
- paths from linked library files now supported.
2011-11-20 14:38:11 +00:00
5429a701c4 Camera: more code refactoring, adding a function to create CameraParams from
3d view, deduplicating the complex code for setting up the viewplane.
2011-11-18 21:19:03 +00:00
ed77c356fc Fix: OpenGL renders on graphics cards which do not support non-power-of-two
textures were stretched and the wrong size.
2011-10-28 16:57:06 +00:00