Commit Graph

8093 Commits

Author SHA1 Message Date
Campbell Barton
d35957ba94 code cleanup: split out mask spline evaluation into its own file. 2012-08-26 13:41:40 +00:00
Campbell Barton
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
Sergey Sharybin
3bfe4520ae Style cleanup: whitespace 2012-08-26 11:01:18 +00:00
Sergey Sharybin
1b487e9948 Some FFmpeg changes
- Make FFmpeg initialization called from creator, not from functions
  which requires FFmpeg. Makes it easier to follow when initialization
  should happen.

- Enable DNxHD codec. It was commented a while ago due to some strange
  behavior on some platforms. Re-tested it on Linux and Windows and
  it seemd to be working quite nice. Would let it be tested further,
  if it wouldn't be stable enough, easy to comment it again.

- Make non-error messages from writeffmpeg.c printed only if ffmpeg
  debug argument was passed to blender. Reduces console pollution
  with messages which are not useful for general troubleshooting.
  Error messages would still be printed to the console.

- Show FFmpeg error message when video stream failed to allocate.
  makes it easier to understand what exactly is wrong from Blender
  interface, no need to restart blender with FFmpeg debug flag and
  check for console messages.

  Used custom log callback for this which stores last error message
  in static variable. This is not thread safe, but with current
  design FFmpeg routines could not be called form several threads
  anyway, so think it's fine solution/
2012-08-26 11:01:14 +00:00
Campbell Barton
a3c4b0f47d make SWAP macros typesafe using CHECK_TYPE macro.
Its unlikely you want to do short -> int, int -> float etc, conversion during swapping (if its needed we could have a non type checking macro).

Double that the optimized assembler outbut using SWAP() remains unchanged from before.

This exposed quite a few places where redundant type conversion was going on.

Also remove curve.c's swapdata() and replace its use with swap_v3_v3()
2012-08-25 20:16:08 +00:00
Campbell Barton
699b23ecdb fix for type mismatch with SWAP() macro. 2012-08-25 19:43:15 +00:00
Campbell Barton
71d1b09708 minor code cleanup 2012-08-25 12:55:14 +00:00
Campbell Barton
ed0489bb6e style cleanup: also spelling 2012-08-24 23:22:34 +00:00
Campbell Barton
c3bc1da93c alternate fix for bug [#32395],
now customdata is interpolated into a temp variable and applied at the end of each layer interpolation function.

So this now works for CDDM customdata interpolation and avoids duplicating the customdata when the source and destination overlap.
2012-08-24 17:01:35 +00:00
Sergey Sharybin
501efb0e7c Sequencer: bright/contrast modifier
Behaves in exactly the same way as bright/contrast compositor node.

Some code could be de-duplicated, like contrast formula and mask
influence, but wouldn't call it stopper for commit since it's
already needed for grading Mango.
2012-08-24 09:07:04 +00:00
Campbell Barton
93d89ec768 correct assert for customdata overlap, also quiet uninitialized warning in transform. 2012-08-24 08:17:53 +00:00
Nicholas Rishel
b47a7c7701 Code cleanup: comment referenced an outdated file path + spelling error 2012-08-24 05:12:05 +00:00
Campbell Barton
56b28635e7 code cleanup: rename BLI_in_rctf() --> BLI_rctf_isect_pt(), to conform with our naming convention. 2012-08-23 18:25:45 +00:00
Campbell Barton
f6a6fa419e fix [#32395] BMesh data interpolation feedback loop 2012-08-23 17:16:11 +00:00
Campbell Barton
65dbeabdc6 style cleanup: indentation, also quiet double promotion warnings for despeckle node. 2012-08-23 16:17:47 +00:00
Campbell Barton
bbd8863956 code cleanup: use const weights for customdata interpolation functions 2012-08-23 09:54:15 +00:00
Campbell Barton
9ecc6fdcc7 style cleanup 2012-08-23 07:10:48 +00:00
Campbell Barton
1ab5a4f0ed despeckle composite node 2012-08-23 06:48:01 +00:00
Sergey Sharybin
b0dd030ba6 Fixed regression introduced in 50107
Shader preview job localizes material without referencing it as a user,
so don't need to unreference itself as a user from this material.

Added BKE_material_free_ex function which could skip user dereferencing.
This also removed old hack with mtex users.
2012-08-22 17:22:04 +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
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
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
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
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
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
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
Campbell Barton
26f073b327 macros for rectangle center and size 2012-08-20 15:29:02 +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
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
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
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
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