Commit Graph

2115 Commits

Author SHA1 Message Date
Brecht Van Lommel
fedc8e1722 Cycles: add "From Dupli" option for texture coordinate node. This gets the
Generated and UV coordinates from the duplicator of instance instead of the
object itself.

This was used in e.g. Big Buck Bunny for texturing instanced feathers with
a UV map on the bird. Many files changed, mainly to do some refactoring to
get rid of G.rendering global in duplilist code.
2012-10-04 21:40:39 +00:00
Sergey Sharybin
63840fd505 Fix #32755: Stripes in Metastrip can not be moved on other channel with mouse (grab tool)
The issue was caused by SEQ_BEGIN macro modifying sequence's depth
which ruined transformation routines. Used own DFS instead which
doesn't modify sequences.

Also corrected some typos in api and comments.
2012-10-04 18:30:28 +00:00
Campbell Barton
d8144ef0f5 style cleanup: comment blocks 2012-10-04 13:26:15 +00:00
Campbell Barton
f609d0f22e code cleanup: remove USE_BMESH_FORWARD_COMPAT - this was added to load bmesh in pre-bmesh blender version, remove MODSTACK_DEBUG, was never used. 2012-10-04 09:12:08 +00:00
Sergey Sharybin
0ef61bb816 Correction to commit rev48866 -- convert_tface_mt must happen before BKE_mesh_do_versions_convert_mfaces_to_mpolys
Discovered when were looking into crystal_cube.blend from our regression files
collection. Now it should look the same as in 2.62 release. 2.63 release wouldn't
work correct for this file because of wrong mtface->material conversion after
bmesh merge.
2012-10-03 12:07:29 +00:00
Sergey Sharybin
98698753b1 Fix #32742: Motion path calculation on linked armatures locks up Blender
Issue was happening when linking armature object and making proxy and was
caused by not copying visualization settings in BKE_pose_copy_data.

This lead to deadlocks in motion path drawing code.

After discussion with Campbell decided it is crucial fix since it fixes
bug appearing in really common scenario of using armatures.
2012-10-03 08:51:05 +00:00
Campbell Barton
7d1da8b60a fix for unlikely crash if smoke collision data couldn't be read. (pointer was used before doing NULL check) 2012-10-01 15:26:48 +00:00
Campbell Barton
818b2e81da missed these last commit 2012-09-30 10:45:37 +00:00
Campbell Barton
368e502dba demote library linking errors from ERROR's to warnings, since errors will throw a python exception and stop the script when loading a blend file by calling a python operator. 2012-09-30 10:38:12 +00:00
Campbell Barton
aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
Campbell Barton
acb4a03934 remove sticky customdata layers as well as sticky mtex flag 2012-09-23 10:25:22 +00:00
Campbell Barton
3d1cdfbb38 remove sticky coords from blender and the internal render engine. 2012-09-21 11:37:51 +00:00
Campbell Barton
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
Campbell Barton
8e93f017ac do_version fix files with bad keyblock uid caused by byg [#31569] 2012-09-18 14:40:02 +00:00
Campbell Barton
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
Campbell Barton
7ecc9951a9 add endian switching to mask shape key loading (loading mask animations between big/little endian systems would break), also set attributes to BLI_endian_switch_* functions. 2012-09-17 05:31:41 +00:00
Campbell Barton
e84b300d9e use the format attribute in more places, disable X11 options when building with GHOST_SDL 2012-09-16 10:39:19 +00:00
Sergey Sharybin
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
Campbell Barton
19863a7268 fix for 3 obvious mistakes/bugs. 2012-09-15 06:30:40 +00:00
Campbell Barton
abce099804 code cleanup: quiet some windows warnings. 2012-09-15 04:57:51 +00:00
Campbell Barton
e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
Campbell Barton
d75a66674d code cleanup: remove deprecated defines and some struct members 2012-09-06 00:33:59 +00:00
Campbell Barton
a4b71f4e01 fix for various redundant checks and possibly fix some crashes in rare situations. 2012-09-05 01:42:52 +00:00
Sergey Sharybin
3d7fd3c158 Sequencer: remove effect mask input
Initial idea of this input was re-designed in a bit more flexible
way using modifiers.
Also since Color Balance (which was the only thing using effect
mask input) was moved to the modifiers, this input field became
rudiment.

It's pretty tricky to write versioning code to prevent possible
data in cases this field was used, but hope it wouldn't be difficult
to switch to modifiers masks.
2012-09-04 13:48:24 +00:00
Sergey Sharybin
122cb86d15 Sequencer: remove strip's color balance in favor of modifiers
Having two ways to control color balance now seems a bit overkill
and not clear.

Removed old Color Balance settings from the interface and logic,
added versioning code to convert this settings to modifier.

Unfortunately, since color balance was a pointer, it's not actually
possible to preserve compatibility of old files saved in new
blender and opened back in old blender.

Hopefully there's no regressions :)
2012-09-04 13:37:53 +00:00
Campbell Barton
a71b160184 fix for building on msvc2008 (also style cleanup) 2012-09-04 01:23:50 +00:00
Campbell Barton
aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
Campbell Barton
95f7264014 code cleanup: split out defines in BKE_utildefines.h into BLO_blend_defs.h and ui defines in interface_intern.h 2012-09-03 10:12:25 +00:00
Campbell Barton
b8b5bf7dcd array functions for endian switching. 2012-09-03 09:03:25 +00:00
Campbell Barton
d248f94cf8 add endian switch functions to replace macros SWITCH_INT/LONG/SHORT, with BLI_endian_switch_int32/int64/float/double... 2012-09-03 07:37:38 +00:00
Campbell Barton
635db3b306 code cleanup: add utility function BLI_path_is_rel() 2012-08-29 10:32:38 +00:00
Campbell Barton
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
Brecht Van Lommel
97ee630dcd Fix #32201: particle size compatibility broken for object/group duplication.
After 2.63 there was a bugfix to take object scale into account for the duplicated
objects, but this breaks compatibility on earlier files. Now there is an option to
control if the scale should be used or not.

Scale is used by default on newer files, and not used on older ones.
2012-08-22 13:10:43 +00:00
Campbell Barton
9a776daca8 code cleanup: vfont's used confusing and over complicated method of storing memory for loaded fonts, not store as a temp var in the fonts. 2012-08-21 10:39:02 +00:00
Campbell Barton
3204731209 code cleanup: don't use magic numbers for curve flag & use bool args for curvemapping_changed() 2012-08-21 08:47:36 +00:00
Sergey Sharybin
995a19a983 Sequencer: per-sequence modifier stack for color grading
This implements basic color grading modifiers in sequencer, supporting
color balance, RGB curves and HUE corrections.

Implementation is close to object modifiers, some details are there:

http://wiki.blender.org/index.php/User:Nazg-gul/SequencerModifiers

Modifiers supports multi-threaded calculation, masks and instant
parameter changes.

Also added cache for pre-processed image buffers for current frame,
so changing sequence properties does not require rendering of original
sequence (like rendering scene, loading file from disk and so)
2012-08-19 15:41:56 +00:00
Campbell Barton
e9caa21830 fix own error in recent smoothview cleanup, also correct some cross references in bmesh docs. 2012-08-17 14:43:20 +00:00
Campbell Barton
be513d1b15 fix for missing NULL checks when sequence-strip pointers become NULL because of problems with library linking. 2012-08-13 17:25:03 +00:00
Campbell Barton
9cce2d8645 smooth-view for 2d views, graph editor, sequencer, node view, works with border zoom, view selected, view all. 2012-08-12 01:07:31 +00:00
Sergey Sharybin
a794e19346 Sequencer: support for masked color balance
This implements option which could be used to color balance only
specified area. Currently done by adding Mask input to Adjustment
effect. Affects on color balance and multiply settings.

Supporting masked saturation control is in the list, not supported
in this commit.

Also show value slider in the right of color wheel.
2012-08-11 14:37:58 +00:00
Campbell Barton
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
Sergey Sharybin
1bf893e9c8 Code cleanup: BKE_ prefix for public sequencer functions 2012-08-08 11:15:40 +00:00
Mitchell Stokes
47c7266522 Accidentally did a commit when I wanted to revert... (ignore my last revision) 2012-08-08 01:29:20 +00:00
Mitchell Stokes
843b45cafa 2012-08-08 01:24:48 +00:00
Daniel Genrich
4c4973350e Bugfix: Crash when changing collider type after loading blend file.
Thanks to MiikaH for pointing out.
2012-08-06 11:55:52 +00:00
Campbell Barton
3d20474414 style cleanup 2012-08-04 19:34:38 +00:00
Campbell Barton
9ff4fa6671 style cleanup 2012-08-04 12:30:16 +00:00
Campbell Barton
aa23f98bda rename meaningless LIB flag name LIB_TEST --> LIB_NEED_EXPAND. 2012-08-01 15:32:27 +00:00
Campbell Barton
693c43cd95 replace 'GET_INT_FROM_POINTER( &((BHeadN*)0)->bhead) )' with 'offsetof(BHeadN, bhead))' 2012-08-01 15:21:39 +00:00
Sergey Sharybin
d86b6dcf1c Expand function for masks, so no masks could be properly linked
in cases when they've got parenting to motion tracking data.
2012-07-31 20:54:27 +00:00