Commit Graph

8200 Commits

Author SHA1 Message Date
e0fe0fa7dd Themes fixes:
- Added initialization of frame node color to default theme loading
  Used default color from 2.63a theme, should be pretty fine as default.

- Added some missing versioning checks which lead to differences between
  startup.blend and default theme restored.
2012-09-24 17:57:09 +00:00
bf41aa0168 - Corrected movie clip length computation
- Ignore clip's offset for movie clip sequencer strip
2012-09-24 15:27:04 +00:00
81dc928e50 Sequencer: movie clip float buffers should be converted to internal sequencer space 2012-09-24 15:26:59 +00:00
b4ccf4562c Fix crash on sequencer when movie clip fails to load frame 2012-09-24 14:48:24 +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
904515814f fix [#32626] TIFF renders are limited to 8 bit even when we choose 16.
this is a regression with color management, TIFF's were always being written as 8bit

however the float buffer is assumed to be linear when converting from float to 16bit pixels per channel, so support for color management might need to be added here.
2012-09-24 01:13:13 +00:00
60a5e05a4d Fix #32625 Zero area-sized faces caused jittered part. distrib. to crash
When appling a particle system to a face whose area size is zero,
the jitter distribution failed. fmod() produces a NaN value in this
case. This commit simply checks if the jitter offset (I guess that is
"jitoff" means) and only call psys_uv_to_w() if it's a real floating
point number.
2012-09-23 17:50:51 +00:00
a1e24889ba A bit alternative fix for bug mentioned in rev50826
We need to assign color space for generated images when it's empty.
Do this in add_ibuf_size function in cases image's color space is
empty.

So now color management is always called with correct color space.

P.S. At least it should. If there're more similar issues please
     let me know :)
2012-09-23 14:41:03 +00:00
3b487a6944 fix for all pose-group editing functions crashing when the context didnt have an area (in background mode),
fix pose-group-sort and pose-group-moving being disabled for pinned poses.

also fix for own missing NULL check for pose mask clear which would crash when run without an active object
2012-09-23 02:31:30 +00:00
f61ef65adb Color Management: different fixes for byte buffers
- Color space of byte buffer for generated images haven't been
  updated properly on change

- Byte buffers weren't handling data color spaces on display transform
  properly
2012-09-21 20:44:41 +00:00
3d1cdfbb38 remove sticky coords from blender and the internal render engine. 2012-09-21 11:37:51 +00:00
f9467d28b9 remove sticky coordinates from blender, this was missing from the UI since 2.49.
TODO - drop support from the renderer still.
2012-09-21 11:19:16 +00:00
d88d41b265 remove default name from CD_SKIN_NODE LayerTypeInfo so its treated as a singleton. theres no need to have multiple skin layers. 2012-09-21 06:14:22 +00:00
Dalai Felinto
184a232ccc 2.49 feature: Game Controller State name shows up when mouse over them (the name of a state is the name of the top controller of this state)
review and small tweaks by Campbell Barton
2012-09-21 04:09:09 +00:00
5327c2f486 fix [#32602] Bevel operator's transform input is inverted
inset was inverted also
2012-09-20 12:42:22 +00:00
ddcc3f612a Fix #32603: Multi-Layer EXR files can't be color managed
Issue was caused by completely different way how multi-layer EXRs are loading,
they're bypassing general image buffer loading functions.

Solved by running color space transformation on render result construction
from multi-layer EXR image.

Also fixed issue with wrong display buffer computing for buffers with less
than 4 channels. Issues were:

- Display buffer is always expected to be RGBA
- OpenColorIO can not apply color space transformations on non-{RGB, RGBA}
  pixels.
2012-09-20 10:07:49 +00:00
25c96bc9f3 code cleanup: remove unused macros, commet some which may be useful later - or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc 2012-09-20 01:02:39 +00:00
a09b5c1f20 Color Management: new generated images had empty color space by default
Now use default byte/float colorspace when creating new image.
2012-09-19 19:53:16 +00:00
d8ffe32074 Small fix for Follow Track constraint
Use object_get_derived_final() function instead of accessing to object's
derived final directly.

The same happens for shrinkwrap constraint and it should deal better in
cases when depth object is in edit mode. In other cases should be no
functional changes.
2012-09-19 17:19:30 +00:00
5a3e474cc6 Tracking: fixed crash when reference frame fails to be loaded 2012-09-19 12:43:32 +00:00
15ce5f95b3 joining mesh objects now keeps relative key setting of each keyblock. also joining absolute shapekeys now sorts by time. 2012-09-19 12:11:28 +00:00
0d5d2146eb code cleanup: make shape key api names consistent with our new convention. 2012-09-19 10:12:07 +00:00
f5d3e361ce fix for missing NULL check in init_render_texture() (possibly own fault), also remove some redundant code. 2012-09-19 08:09:22 +00:00
123a25c52b fix txt_redo_read_unicode() missing break - reading 4 byte unicode would fail, same fix was made for txt_undo_read_unicode() recently. 2012-09-19 08:07:23 +00:00
4759f70e33 Fix crash editing mask with no image in the image editor. 2012-09-18 19:20:21 +00:00
8e93f017ac do_version fix files with bad keyblock uid caused by byg [#31569] 2012-09-18 14:40:02 +00:00
a53351d204 don't divide by zero in get_ss_weights() which would set values - only to be overwritten.
useful when using --debug-fpe since this isnt and exceptional case.
2012-09-18 12:53:41 +00:00
3069db2216 Revert part of rev50719, it's not actually needed and it always
invalidates render result display buffers.
2012-09-18 11:21:57 +00:00
3d9d7275b5 Color Management: fixed crash when changing display device in screenshot save operator
In fact, color management settings shouldn't be editing from this operator since
screenshot is using OpenGL which is in sRGB space, but fixed issues with Image
Format initialization and added NULL pointer checks.
2012-09-18 10:11:46 +00:00
c50c654543 Fixed missing display buffer invalidation when rendering sequencer animation 2012-09-18 08:40:53 +00:00
d3737de8c2 fix for a strange linking error where set_property() in source/blender/blenkernel/intern/property.c would get mixed up with an X11 function of the same name. it crashed blender loading on my system.
Give functions in property.c more unique names.
2012-09-18 04:35:30 +00:00
a4ff2b9140 code cleanup: warnings 2012-09-18 03:15:12 +00:00
7a06630411 fix for scene not copying image format color management for settings. 2012-09-18 03:14:31 +00:00
47677909c7 fix own error in r49994 2012-09-18 01:24:32 +00:00
aff591c6e1 code cleanup: typos and set exceptional cases of zero length normals as UNLIKELY(). 2012-09-17 22:22:06 +00:00
058da985ff Release Cycles:
* Bump BLENDER_VERSION_CYCLE to rc. BCon4, bugfixes only.
2012-09-17 10:50:13 +00:00
dd62f5b7b8 Remove obsolete code from BKE_tracking_marker_clamp 2012-09-17 07:12:02 +00:00
e5d0dcb8d8 Few cleanup in matrix mathutils (make mul_m3_m3m4 and mul_m4_m3m4 consistant with other similar funcs, mainly copy-safe [i.e. you can use the same matrix as operand and result, saves lines in some already over-complicated code!]). 2012-09-16 15:25:28 +00:00
b3d2ea28ce speedup for vertex parent lookups, were looping over array elements when it wasn't needed for lattice and curves, and in some cases meshes.
do dirrect array lookups instead where possible.
2012-09-16 08:25:31 +00:00
58d520324e Code cleanup - remove some obsolete code 2012-09-16 07:14:15 +00:00
2fb8292005 style cleanup 2012-09-16 04:58:18 +00:00
d724d0adfe code cleanup: quiet warnings for gcc's -Wundef, -Wmissing-declarations 2012-09-16 00:26:36 +00:00
518c80fc94 remove unused parts of raskter module. 2012-09-15 23:05:34 +00:00
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
219b748dfc fix for bug in txt_undo_read_uint32() reading 4byte unicode values. 2012-09-15 10:40:05 +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
fed6b2bcb7 code cleanup: remove paranoid/invalid NULL checks and also reduce some unneeded size_t -> int conversions. 2012-09-15 07:31:17 +00:00
19863a7268 fix for 3 obvious mistakes/bugs. 2012-09-15 06:30:40 +00:00
aa364bb366 fix incorrect macro for mask handle selection checking. 2012-09-15 06:10:48 +00:00
d98dd2585f code cleanup: replace memcpy for copy_v3_v3(), and fix for unlikely crash - if (ob->mat == NULL && ob->totcol) 2012-09-15 06:03:49 +00:00