Commit Graph

8205 Commits

Author SHA1 Message Date
Campbell Barton
b2483c3dbe despeckle node for tomato only 2012-08-22 15:08:41 +00:00
Sergey Sharybin
dd65a6b67d Color Management: pipeline cleanup
- Move color management settings to scene, so it's now clear for
  all areas (such as compositor, sequencer) which settings to
  use for display buffers

- Currently removed per-editor color management settings. It could
  be nice to have them, but they don't fit nicely into overall
  pipeline and could be added as a override settings for display
  only later.

- Make sequencer working in space defined by sequencer_workspace
  role in OCIO configuration file.
  If this role is not set, sequencer will fallback to legacy sRGB
  Gamma 2.2 space.

  Currently use vd16 color space for sequencer. Not sure what exactly
  this color space is, but it's pretty close to SPI Film view and
  it's still invertable.

- Sequencer will now output linear float buffers, not color managed
  float buffers.
  Before this sequencer used to output float buffers in sRGB space,
  which was sequencer's working space. Now it can not output buffers
  in this space since other areas are not aware of this space.
  This also makes it's consistent that all float buffers in Blender
  are in linear space.

- When saving render result into byte file format scene's display
  transform would be applied on this buffer.
  When saving files from image editor, there'll be a display
  transform settings which are default set to scene's settings but
  could also be overwritten.

Additional details are there (would be extended soon):

  http://wiki.blender.org/index.php/User:Nazg-gul/ColorManagement
2012-08-22 14:23:08 +00:00
Sergey Sharybin
24498f084d Merging r50113 through r50118 from trunk into soc-2011-tomato 2012-08-22 13:46:23 +00:00
Sergey Sharybin
0fbd15df0f Sequencer: fix for incorrect proxies rendering after some recent refactor 2012-08-22 13:45:20 +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
c984a8fa56 svn merge ^/trunk/blender -r50107:50112 2012-08-22 12:04:27 +00:00
Campbell Barton
f67d0e63a4 add new mask blend mode: 'Merge Subtract'. gives better results when using feather on overlapping masks when one subtracts from another. 2012-08-22 11:58:59 +00:00
Campbell Barton
6e127b3009 svn merge ^/trunk/blender -r50091:50107 2012-08-22 09:36:49 +00:00
Campbell Barton
2b9fd376e1 all areas of blender now do node tree id user count management, except for some exceptions like making a node tree local and material clipboard. 2012-08-22 09:35:46 +00:00
Campbell Barton
a4fd9f827b fix for bug where scene copy and free didn't manage ID users.
you could for eg, make a full copy of a scene, then manually remove its compo nodes - which would give invalid zero user count.
2012-08-22 09:10:16 +00:00
Campbell Barton
ffcc63a7d0 node tree functions for copy/free now support optional ID user count management,
this is not used yet, so no functional changes.
2012-08-22 08:54:18 +00:00
Campbell Barton
c92ab5c3ef code cleanup: use rect size macros 2012-08-21 20:34:05 +00:00
Campbell Barton
498e45d77b svn merge ^/trunk/blender -r50080:50089 2012-08-21 15:16:53 +00:00
Campbell Barton
3090ae35af fix [#32374] Curve compositor UI drawing glitch
copy the curve for the compositor.
2012-08-21 15:14:29 +00:00
Campbell Barton
8bd7c3fba2 change curve evaluation functions never to modify curve data (ensures thread safety), now initializations has to be done outside evaluation. 2012-08-21 14:43:51 +00:00
Brecht Van Lommel
63e6fbfbd4 Fix #32369: pixel glitch with compositor curves node, and some pixels having
black point = white point. That's a degenerate case, clamped it now to 1e5,
which is a bit arbitrary, but infinity would give NaN issues.
2012-08-21 13:19:34 +00:00
Campbell Barton
002b66e06a svn merge ^/trunk/blender -r50076:50080 2012-08-21 11:11:43 +00:00
Campbell Barton
f8db7ccb62 fix for bug with render slots - where the menus wouldnt only show layers from the last render which could be meaningless in different render slots. 2012-08-21 11:10:16 +00:00
Campbell Barton
6a2018fe13 code cleanup: minor changes to last commit. 2012-08-21 10:44:10 +00:00
Sergey Sharybin
bd2cb7ae50 Merging r50049 through r50076 from trunk into soc-2011-tomato 2012-08-21 10:44:04 +00:00
Sergey Sharybin
08417318cd Sequencer: invalidate current frame cache on sequence transform 2012-08-21 10:42:21 +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
869382403a mask: skip self intersection on drawing when fill is disabled, since it was only drawing on one side of an unfilled spline. 2012-08-21 09:20:35 +00:00
Brecht Van Lommel
abda89bf4d Fix cycles continuously updating when creating a driver for a scene property,
like driving integrator seed with #frame.

The scene drivers are evaluated continuously, which would be nice to fix but
complicated, now it compares the RNA value to see if it actually changed, and
avoids the update in that case, which is a useful optimization by itself.
2012-08-21 08:57:24 +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
Campbell Barton
988df24551 compositor color curve was MEM_dupallocN'ing the curve for every pixel calculation (when there were black or white inputs on the curve node).
avoid allocation by using local vars for black/white storage & curve calculation.
2012-08-21 08:30:45 +00:00
Campbell Barton
5e78327b92 fix for mask feather intersection checks not working right for non-filled, feathered masks.
now do intersection checks for both sides of the feather.
2012-08-20 16:34:14 +00:00
Sergey Sharybin
6f518e0ee9 Sequencer: clear cache and animation buffers for strips outside of cursor when rendering
This avoids having bunch of cached images when doing animation rendering,
keeping all the memory available for rendered itself.

This keeps memory usage low when rendering huge edits with mixed
scenes and movie strips.

This should not affect on sped of video encoding, which was confirmed by
some own tests.

Currently commiting to tomato due to not sure if there's something
i can not foresee here.
2012-08-20 16:15:09 +00:00
Campbell Barton
26f073b327 macros for rectangle center and size 2012-08-20 15:29:02 +00:00
Sergey Sharybin
bbd138081e Merging r50045 through r50048 from trunk into soc-2011-tomato 2012-08-20 15:17:17 +00:00
Sergey Sharybin
831eaf2d7f Sequencer: fix regression introduced in own previous commit
Invalidate preprocessed cache when when global sequencer cache is
begin invalidated.

This is needed so scene would be rendered with a proper settings,
not taken from preprocess cache.
2012-08-20 15:14:23 +00:00
Campbell Barton
63b1e79577 svn merge ^/trunk/blender -r50039:50044 2012-08-20 14:01:16 +00:00
Campbell Barton
6c74d1147e minor cleanup to node pasting. 2012-08-20 13:59:19 +00:00
Campbell Barton
0f6a6c7499 fix for crash pasting nodes into a node tree when the ID pointer is lost.
also fix for ID user count on paste which wasn't increasing.
2012-08-20 13:51:25 +00:00
Sergey Sharybin
21daa0d119 Merging r50037 through r50039 from trunk into soc-2011-tomato 2012-08-20 10:57:51 +00:00
Sergey Sharybin
ad647b2767 Sequencer: skip adding ImBuf to cache when it failed to render 2012-08-20 10:56:19 +00:00
Sergey Sharybin
0ae7286891 Sequencer: Python API for sequence modifiers 2012-08-20 10:15:32 +00:00
Sergey Sharybin
fb5c39f5c2 Merging r50016 through r50021 from trunk into soc-2011-tomato 2012-08-19 15:44:59 +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
Sergey Sharybin
21e403e546 Merging r49953 through r50015 into from trunk into soc-2011-tomato 2012-08-19 13:57:55 +00:00
Nicholas Bishop
12425588f2 Fix simple subsurf on wire edges
Subsurf on wire edges gave smooth results even if set to simple
subdiv. Added a field to the CCG meshIFC to flag simple subdivision,
then when syncing vertices simply skip moving vertices if in
simple-subdiv mode.

This change affects two places, the level-1 build in sync and the
subdivision up to other levels.

Fixes bug [#32268] Simple Subsurf Modifier gives unexpected results on
edges without faces
projects.blender.org/tracker/index.php?func=detail&aid=32268&group_id=9&atid=498
2012-08-18 19:54:21 +00:00
Campbell Barton
e30ed91b90 code cleanup: use BLI math funcs for metaballs, also remove MB_POINT struct and just use float[3] instead. 2012-08-18 19:30:27 +00:00
Campbell Barton
27b4b45543 utility functions: BLI_findptr, BLI_rfindptr --- use for finding an item in a linked list by a pointer. 2012-08-18 16:16:13 +00:00
Campbell Barton
e982e9b04f fix [#32353] 'Focus'(center) applied on a rig should only take visible bones into account 2012-08-18 14:27:48 +00:00
Campbell Barton
9e742ffc2b style cleanup: also correct some doxy comments 2012-08-18 13:07:48 +00:00
Joshua Leung
7e2f557dba Typo fix: BKE_sequwnce_get_by_name -> BKE_sequence_get_by_name 2012-08-18 05:49:55 +00:00
Joshua Leung
246c86c926 Silencing compiler warnings 2012-08-18 04:50:20 +00:00
Joshua Leung
654f6c4c4f Bugfix [#32331] Graph editor zoom to selected includes coordinate origin if more
than one curve is displayed

The range calculation used to use a fixed 0-1 range whenever it couldn't find
any values for a particular F-Curve. However, this was then taken by the
aggregation calculation to be used as just another value, leading to problems if
only vertices of a very high-value curve are selected to be included.

Modified the range calculation to ensure that suitable vertices were found
before trying to take the range values returned.
2012-08-18 04:39:15 +00:00
Joshua Leung
8995554105 Fix for some typos/spelling mistakes 2012-08-18 03:55:19 +00:00
Gaia Clary
0fee1a3c0b Suport function for Collada exporter: after a generated image was stored to disk, the new filetype was not always recognized. 2012-08-17 23:29:39 +00:00