8 years agofalloff option for mask layers
Campbell Barton [Sun, 15 Jul 2012 03:11:07 +0000 (03:11 +0000)]
falloff option for mask layers

8 years agominor refactor for rect functions. more consistent naming.
Campbell Barton [Sun, 15 Jul 2012 00:29:56 +0000 (00:29 +0000)]
minor refactor for rect functions. more consistent naming.

8 years agofix for some bugs when the mask layer was outside the view, also clamp the layer...
Campbell Barton [Sun, 15 Jul 2012 00:07:41 +0000 (00:07 +0000)]
fix for some bugs when the mask layer was outside the view, also clamp the layer buckets within the view.

8 years agofix for minor error in previous commit (wasnt connecting right faces for cyclic mask...
Campbell Barton [Sat, 14 Jul 2012 23:26:54 +0000 (23:26 +0000)]
fix for minor error in previous commit (wasnt connecting right faces for cyclic mask), also avoid doing more area calculations then needed when checking if the mouse is moving away from uiBlock.

8 years agounfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems.
Campbell Barton [Sat, 14 Jul 2012 23:23:24 +0000 (23:23 +0000)]
unfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems.

8 years agouse a different setting for fill/cyclic - you may want to have unfilled cyclic curves.
Campbell Barton [Sat, 14 Jul 2012 20:53:52 +0000 (20:53 +0000)]
use a different setting for fill/cyclic - you may want to have unfilled cyclic curves.

8 years agomask rasterizer, render unclosed splines as lines.
Campbell Barton [Sat, 14 Jul 2012 20:29:17 +0000 (20:29 +0000)]
mask rasterizer, render unclosed splines as lines.

8 years agocode cleanup
Campbell Barton [Sat, 14 Jul 2012 19:21:13 +0000 (19:21 +0000)]
code cleanup

8 years agozealous bounds checking broke the invert option.
Campbell Barton [Sat, 14 Jul 2012 18:57:16 +0000 (18:57 +0000)]
zealous bounds checking broke the invert option.

8 years agomask rasterization: use a simpler method to check if a bucket intersects with a triangle.
Campbell Barton [Sat, 14 Jul 2012 18:42:59 +0000 (18:42 +0000)]
mask rasterization: use a simpler method to check if a bucket intersects with a triangle.

8 years agorename vars for line dist funcs to make more sense
Campbell Barton [Sat, 14 Jul 2012 18:37:48 +0000 (18:37 +0000)]
rename vars for line dist funcs to make more sense

8 years agomask rasterizer - test if buckets overlap the face before adding the face into the...
Campbell Barton [Sat, 14 Jul 2012 17:58:42 +0000 (17:58 +0000)]
mask rasterizer - test if buckets overlap the face before adding the face into the bucket.

8 years agoFix #31021: Render settings are not taken into account for curves
Sergey Sharybin [Sat, 14 Jul 2012 17:30:49 +0000 (17:30 +0000)]
Fix #31021: Render settings are not taken into account for curves

Refactored code a bit to make naming a bit more clear and added a
function to create mesh from given display list rather than from
object's displist.

Tested using plain curves (which doesn't imply using derived meshes)
and curves with constructive modifiers (which are using derived meshed).

8 years agoadd dynamic bucket xy resolution based on pixel size, also remove some redundant...
Campbell Barton [Sat, 14 Jul 2012 16:54:10 +0000 (16:54 +0000)]
add dynamic bucket xy resolution based on pixel size, also remove some redundant copying.

8 years agominor refactor, some comments and var names were misleading.
Campbell Barton [Sat, 14 Jul 2012 16:03:03 +0000 (16:03 +0000)]
minor refactor, some comments and var names were misleading.

8 years agominor refactor for mask rasterizer
Campbell Barton [Sat, 14 Jul 2012 15:46:32 +0000 (15:46 +0000)]
minor refactor for mask rasterizer

8 years agoheader comment cleanup, explain whats the difference between confusingly named drarno...
Campbell Barton [Sat, 14 Jul 2012 15:29:45 +0000 (15:29 +0000)]
header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c.

8 years agoreplace masking rasterizer with a more simple geometry based rasterizer (for the...
Campbell Barton [Sat, 14 Jul 2012 15:29:05 +0000 (15:29 +0000)]
replace masking rasterizer with a more simple geometry based rasterizer (for the compositor).

- uncomment  #define USE_RASKTER in BKE_mask.h to use the previous mask rasterizer.
- slightly slower for regular masks but significantly faster for feather.
- main benefit is that it threads well so works nice for tile compositor.
- feather is lower quality, can use some improvements here.
- feather can also use some interpolation enhancements, will do later.

8 years agoFix [#32086] Missing bevel "hold shift" for better accuracy.
Bastien Montagne [Sat, 14 Jul 2012 14:03:36 +0000 (14:03 +0000)]
Fix [#32086] Missing bevel "hold shift" for better accuracy.

This commit adds "shift" and numtype to both Bevel and Inset mesh operators.

It also gets rid of the magicnumber used in NumInput to str operation (currently, 20 chars per element, now defined as NUM_STR_REP_LEN in ED_numinput.h).

8 years agouse gcc attributes for BLI alloc functions
Campbell Barton [Sat, 14 Jul 2012 12:47:49 +0000 (12:47 +0000)]
use gcc attributes for BLI alloc functions

8 years agoBGE: Better fix for the textures not working with custom shaders regression. Now...
Mitchell Stokes [Sat, 14 Jul 2012 04:43:32 +0000 (04:43 +0000)]
BGE: Better fix for the textures not working with custom shaders regression. Now custom shaders work, and textures aren't uploaded twice for GLSL materials (my earlier fix had some bad logic).

8 years agomore minor speedups for new mask rasterizer
Campbell Barton [Sat, 14 Jul 2012 04:07:59 +0000 (04:07 +0000)]
more minor speedups for new mask rasterizer

8 years agonew mask rasterizer - replace kdopbvh with with own bucket lookups.
Campbell Barton [Sat, 14 Jul 2012 01:43:33 +0000 (01:43 +0000)]
new mask rasterizer - replace kdopbvh with with own bucket lookups.

8 years agoadd is_quad_convex_v2(), SET_UINT_IN_POINTER, GET_UINT_FROM_POINTER macros & some...
Campbell Barton [Sat, 14 Jul 2012 00:33:58 +0000 (00:33 +0000)]
add is_quad_convex_v2(), SET_UINT_IN_POINTER, GET_UINT_FROM_POINTER macros & some minor edits.

8 years agoFix [#32013] Crash loading a 2.49b model
Bastien Montagne [Fri, 13 Jul 2012 20:50:32 +0000 (20:50 +0000)]
Fix [#32013] Crash loading a 2.49b model

Problems were in the old multires loading system.

Actually, the sigsev itself was the easy part of the job (simply had to convert from tesselated data to polys/loops), but after that I was getting a horrible bunch of wild stray faces...

It finally turned out it was a mismatch in two different subsurf structs used while computing a mdisps layer from the multires DM, leading to getting complete random normals (null ones, NAN ones...), leading to complete dummy tangent space matrix, leading to absurds mdisps values...

Note: I also moved the copy of first layer's vertex and face data from old me->mr to mesh's v/fdata earlier in multire_load_old(), to be able to use general face_to_poly conversion function (later on we would have to do it by hand, the general function would erase our newly computed mdisps layer...).

Took me the whole week (something like 20h) to track this down: multires + subsurf = C nightmare!

8 years agoFix #32087: Crash while changing values in comp editor (bt and blender included)
Sergey Sharybin [Fri, 13 Jul 2012 13:47:13 +0000 (13:47 +0000)]
Fix #32087: Crash while changing values in comp editor (bt and blender included)

Issue was caused by threading conflict between compositor output node which
is freeing buffers used by render result image and image draw code which
could use buffers at the same time as compositor frees this buffers.

Solved by adding adding  lock around viewer image invalidation and image

Use renamed LOCK_PREVIEW mutex for this, which si not called LOCK_DRAW_IMAGE.
With new compositor locking for preview is not needed so it could be removed.

Added the same lock around viewer operation which also frees buffers used
by viewer image. It's actually quite difficult to check whether this is
indeed needed. This code seems to be using acquire/release technique, but
somehow acquiring ImBuf before invalidating it in compositor operation
doesn't resolve the issue, so probably it's not actually locking acquire
and things should be checked deeper.

8 years agofix for crash with new rasterizer
Campbell Barton [Fri, 13 Jul 2012 12:55:30 +0000 (12:55 +0000)]
fix for crash with new rasterizer

8 years agoInner loop optimization of blur node
Jeroen Bakker [Fri, 13 Jul 2012 12:50:10 +0000 (12:50 +0000)]
Inner loop optimization of blur node

8 years agoRemoved parameter from executePixel and initializeTileData.
Jeroen Bakker [Fri, 13 Jul 2012 12:24:42 +0000 (12:24 +0000)]
Removed parameter from executePixel and initializeTileData.

8 years agospeedup - because we know triangles will always have the same z value.
Campbell Barton [Fri, 13 Jul 2012 12:03:53 +0000 (12:03 +0000)]
speedup - because we know triangles will always have the same z value.

8 years agotemp disable quad interpolation
Campbell Barton [Fri, 13 Jul 2012 11:48:30 +0000 (11:48 +0000)]
temp disable quad interpolation

8 years agomasking - add feather faces as quads and interpolate as quads to avoid ugly diagonal...
Campbell Barton [Fri, 13 Jul 2012 09:22:58 +0000 (09:22 +0000)]
masking - add feather faces as quads and interpolate as quads to avoid ugly diagonal lines.

8 years agonew function barycentric_weights_v2_quad(), like barycentric_weights_v2 but for quads.
Campbell Barton [Fri, 13 Jul 2012 09:19:05 +0000 (09:19 +0000)]
new function barycentric_weights_v2_quad(), like barycentric_weights_v2 but for quads.

takes vecs and a point and assigns 4 weights, needed for nice quad interpolation for mask feathering.

8 years agobugfix: [#32073] Displace node different result between Low and high quality
Dalai Felinto [Fri, 13 Jul 2012 06:07:28 +0000 (06:07 +0000)]
bugfix: [#32073] Displace node different result between Low and high quality

8 years agonew mask rasterizer written to take advantage of the compositors threading, mostly...
Campbell Barton [Thu, 12 Jul 2012 20:10:41 +0000 (20:10 +0000)]
new mask rasterizer written to take advantage of the compositors threading, mostly functional but disabled by default (still a little wip).

8 years agoMissed H file
Jeroen Bakker [Thu, 12 Jul 2012 19:48:16 +0000 (19:48 +0000)]
Missed H file

8 years agoSmall optimizations in compositor.
Jeroen Bakker [Thu, 12 Jul 2012 19:19:03 +0000 (19:19 +0000)]
Small optimizations in compositor.
Most of them are not noticeable.

8 years ago3D View / Edges menu:
Thomas Dinges [Thu, 12 Jul 2012 16:19:29 +0000 (16:19 +0000)]
3D View / Edges menu:
* Removed a redundant "Edge Crease" entry and some code cleanup.

8 years agoFix #31988: VBOs Textured solid : no update of material in 3Dview
Sergey Sharybin [Thu, 12 Jul 2012 16:08:22 +0000 (16:08 +0000)]
Fix #31988: VBOs Textured solid : no update of material in 3Dview

Issue was caused by VBOs using CD_TEXTURE_MCOL for faces colors. This
layer was creating on mesh display (from draw_tface_mapped__set_draw)
in cases there's no such a layer.

If material settings are changing, this layer wasn't updated and old
colors were used.

Fixed by performing an update of this layer in cases it's already
exists. This would give some % of slowdown, but don't think it'll
be dramatically bad.

Would be nice to find a nice way to update such a layer in cases
material is actually changes only, or get completely rid of it/

8 years agoFix #32067: since BMesh, files < 2.59.3 no longer have their texface converted
Sergey Sharybin [Thu, 12 Jul 2012 15:36:22 +0000 (15:36 +0000)]
Fix #32067: since BMesh, files < 2.59.3 no longer have their texface converted

Issue was caused by performing conversion from FTFaces to materials from
the end of lib_link_mesh, where tesselated faces were cleared already.

This conversion can't be switched to BMesh structures because in future
MTexPolys could be changed in a way, that versioning stuff wouldn't work
any more. Another issue is that making such a conversion per-mesh would
lead to quite a code spagetti, which is difficult to follow.

Solved by splitting per-mesh cycle in lib_link_mesh, so now it consists
of three steps:

- Do linking stuff such as custom data layers, materials. Perform a
  Conversion stuff like tessface -> polys.

- Convert all MTFaces to materials. This conversion handles all meshes
  and creates needed materials.

- Free tessfaces, mark mesh as linked.

Such a separation shouldn't noticeably affect on speed of linking.

8 years agoFix #32051, Ungroup operator crashes. The link iterator can be invalidated when uncon...
Lukas Toenne [Thu, 12 Jul 2012 15:14:50 +0000 (15:14 +0000)]
Fix #32051, Ungroup operator crashes. The link iterator can be invalidated when unconnected input links are removed.

8 years agoFix #31584: Fractional step in value input for Skin Modifier (Event/input problem)
Sergey Sharybin [Thu, 12 Jul 2012 14:41:52 +0000 (14:41 +0000)]
Fix #31584: Fractional step in value input for Skin Modifier (Event/input problem)

Issue was caused by the code which checked whether snapping should be enabled
on transform init taking into account keymap and special keys state. It was
used for Ctrl-Click on manipulator only.

Check for Ctrl state gave wring result with skin modifier. It was solved
by additional check for which mode transformation is initializing for --
currently manipulator is available for translation/roation/resize only
which doesn't give any keymap issues.

8 years agoClip editor mode selection: show menu with modes on TAB
Sergey Sharybin [Thu, 12 Jul 2012 12:06:40 +0000 (12:06 +0000)]
Clip editor mode selection: show menu with modes on TAB

This seems to be the only straightforward way to switch fast between
modes without keeping bunch of shortcuts and current mode in head.

8 years agoFixed issue with drag-n-drop into Clip Editor.
Sergey Sharybin [Thu, 12 Jul 2012 11:52:09 +0000 (11:52 +0000)]
Fixed issue with drag-n-drop into Clip Editor.

8 years agoOSX: make the progressbar in dock a gradient, to give it a more matching 3D appearance
Jens Verwiebe [Thu, 12 Jul 2012 11:35:51 +0000 (11:35 +0000)]
OSX: make the progressbar in dock a gradient, to give it a more matching 3D appearance

8 years agoFix for metaballs used as dupli-object for particle
Sergey Sharybin [Thu, 12 Jul 2012 11:22:46 +0000 (11:22 +0000)]
Fix for metaballs used as dupli-object for particle

It used to be a dependency cycle which lead to incorrect or
missed tesselation on some circumstances.

Seems to be introduced in rev41627.

This commit seems to behaving properly on simple cases,
probably could fail in some other cases, so need to be
checked further.

Discovered when was looking into:
    #32034: Metaball used as render object(group) for particle will display wire only.

8 years agoFix #32041: Empty display size is not taken into account for centering view
Sergey Sharybin [Thu, 12 Jul 2012 10:27:22 +0000 (10:27 +0000)]
Fix #32041: Empty display size is not taken into account for centering view

8 years agoFix #32050: UV map and game engine property cause crash
Sergey Sharybin [Thu, 12 Jul 2012 09:56:18 +0000 (09:56 +0000)]
Fix #32050: UV map and game engine property cause crash

8 years agoadd bli rect min/max functions.
Campbell Barton [Thu, 12 Jul 2012 09:24:17 +0000 (09:24 +0000)]
add bli rect min/max functions.

8 years agofeather points now align with mask outline when called with same resolution.
Campbell Barton [Thu, 12 Jul 2012 09:03:45 +0000 (09:03 +0000)]
feather points now align with mask outline when called with same resolution.

8 years ago- add a temp var for edge scanfill (fits in 4 bytes alignment - won't increase mem...
Campbell Barton [Thu, 12 Jul 2012 08:34:59 +0000 (08:34 +0000)]
- add a temp var for edge scanfill (fits in 4 bytes alignment - won't increase mem usage)
- make keyindex an unsigned int, since its used to store vertex indices
- use BLI_in_rcti_v for IN_2D_VERT_SCROLL and IN_2D_HORIZ_SCROLL

8 years agoadd bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax
Campbell Barton [Thu, 12 Jul 2012 08:31:23 +0000 (08:31 +0000)]
add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax

8 years agoFix #32082: face textures lost when linking scene from another file
Sergey Sharybin [Thu, 12 Jul 2012 07:30:50 +0000 (07:30 +0000)]
Fix #32082: face textures lost when linking scene from another file

Issue was caused by missing expand for MTexPoly-s tpages.

8 years agoFix crash on creating tooltip for sequencer's gl preview mode
Sergey Sharybin [Thu, 12 Jul 2012 07:15:32 +0000 (07:15 +0000)]
Fix crash on creating tooltip for sequencer's gl preview mode

Issue was caused by missed value for this enum, fixed by adding check
in tooltip generation.

Default value for this enum should also be fixed, but that would be
in separated commit.

8 years agoFix normals around root nodes of skin modifier output.
Nicholas Bishop [Thu, 12 Jul 2012 05:55:07 +0000 (05:55 +0000)]
Fix normals around root nodes of skin modifier output.

The direction for these are flipped from other end caps, so add a root
flag to indicate whether the cap polygon's vertex output order should be

Fixes bug [#32079] Skin-modifier calculates root's normals wrong

8 years agoReadme and Release Log Links:
Thomas Dinges [Wed, 11 Jul 2012 21:57:11 +0000 (21:57 +0000)]
Readme and Release Log Links:
* Update to 2.64

8 years agoFix for [#32078] Rendering output to Frame Server is broken.
Thomas Dinges [Wed, 11 Jul 2012 21:42:06 +0000 (21:42 +0000)]
Fix for [#32078] Rendering output to Frame Server is broken.
* BKE_frameserver_append() always returned 0, which caused the frameserver to crash after the first frame was requested. Patch by "alas2718"

8 years agoCompositor:
Jeroen Bakker [Wed, 11 Jul 2012 20:51:00 +0000 (20:51 +0000)]
re-optimized the Defocus node.
 * localized MemoryBuffers
 * removed read(x,y) calls
 * shuffled some lines in the execute pixel
 * added a readNoCheck function to the memorybuffer (only use this when
you are certain you are reading a pixel inside the memorybuffer.

8 years agoability to calculate mask curve and feather with predefined resolution (*_ex functions)
Campbell Barton [Wed, 11 Jul 2012 20:18:46 +0000 (20:18 +0000)]
ability to calculate mask curve and feather with predefined resolution (*_ex functions)

8 years agoCompositor:
Jeroen Bakker [Wed, 11 Jul 2012 19:32:32 +0000 (19:32 +0000)]

Added OpenCL kernel for the directional blur.

This operation always uses the full input image. In the current
implementation this input image is not cached on the device.

Future enhancement could be to cache it on the available opencl devices

8 years agoFix mistmatched new[] and dlete used in node highlightion
Sergey Sharybin [Wed, 11 Jul 2012 18:46:27 +0000 (18:46 +0000)]
Fix mistmatched new[] and dlete used in node highlightion

8 years agovector versions of BLI_in_rctf / BLI_in_rcti, (BLI_in_rctf_v, BLI_in_rcti_v)
Campbell Barton [Wed, 11 Jul 2012 18:17:48 +0000 (18:17 +0000)]
vector versions of BLI_in_rctf / BLI_in_rcti, (BLI_in_rctf_v, BLI_in_rcti_v)
use where possible.

8 years agoFix #32058, Crash when using ParticleInstance with an hidden particle system.
Lukas Toenne [Wed, 11 Jul 2012 16:08:04 +0000 (16:08 +0000)]
Fix #32058, Crash when using ParticleInstance with an hidden particle system.

The instance modifier needs to access the derived mesh data of the particle parent object to create stuff on the hairs, however the dm does not exist when the particle modifier is hidden. This is a general design problem: Objects accessing another object's derived mesh data is unsafe. For now it just checks valid dm pointer and uses identity transform if NULL.

8 years agoPatch #32074: Fix compilation with boost 1.50
Sergey Sharybin [Wed, 11 Jul 2012 14:48:47 +0000 (14:48 +0000)]
Patch #32074: Fix compilation with boost 1.50

This patch switches from boost's filesystem v2 to v3.

This should be completely smooth due to filesystem v3 is pretty
old already.

Patch by Sven-Hendrik Haase (aka svenstaro), thanks!

8 years agocode cleanup: use const for passing vectors
Campbell Barton [Wed, 11 Jul 2012 12:42:02 +0000 (12:42 +0000)]
code cleanup: use const for passing vectors

8 years agomissed this change from patch [#30274]
Campbell Barton [Wed, 11 Jul 2012 12:35:50 +0000 (12:35 +0000)]
missed this change from patch [#30274]

8 years agoStyle cleanup
Sergey Sharybin [Wed, 11 Jul 2012 11:31:14 +0000 (11:31 +0000)]
Style cleanup

8 years agoCompositor read buffers work directly on the memory buffer.
Jeroen Bakker [Wed, 11 Jul 2012 10:45:56 +0000 (10:45 +0000)]
Compositor read buffers work directly on the memory buffer.
This way we can remove the memoryBuffers parameter in the executePixels,
and (de)initializeTileData methods

8 years agoMinor interface change: space between vertex group specials menu and up/down buttons
Sergey Sharybin [Wed, 11 Jul 2012 10:41:26 +0000 (10:41 +0000)]
Minor interface change: space between vertex group specials menu and up/down buttons

8 years agoOperator to move mask layers up and down in the list
Sergey Sharybin [Wed, 11 Jul 2012 10:37:38 +0000 (10:37 +0000)]
Operator to move mask layers up and down in the list

8 years agopatch [#30274] XIM improvement (non-latin support + connection recovery)
Campbell Barton [Wed, 11 Jul 2012 08:31:54 +0000 (08:31 +0000)]
patch [#30274] XIM improvement (non-latin support + connection recovery)
from Shinsuke Irie (irie)

(from the tracker submission)

- allow us to input non-latin languages such as Japanese/Chinese
- recover XIM connection and its input contexts when XIM server restarted

Currently it supports only "root window" style input, while most people (and I) want "over the spot" or "on the spot" style one. Probably the implementation of "over the spot" or "on the spot" style becomes much complicated, because XIM server requires the coordinates of current cursor location relative to the screen in order to show the candidate window in appropriate position.

8 years agoFixes for keying screen:
Sergey Sharybin [Wed, 11 Jul 2012 07:46:36 +0000 (07:46 +0000)]
Fixes for keying screen:

- Fixed issue with black areas appearing when too many sites
  are defined.

  Currently tweak epsilon value for this, but probably actual
  issue is somewhere else, can't see it yet.

- Fixed issue with bright pixels appearing in the sites, was
  caused by accumulating color for pixels, which isn't needed.

  Once color for pixel was set stop iterating via triangles.
  Could give some speedup too.

- Ignore markers which are outside of frame bounds, they were
  giving bad triangulation and they can't affect on gradient
  due to color fir such sites is not known.

- Sites used to be created at position without track offset
  taken into account.

8 years agoFix for issue [#31981] for tiles opencl:
Monique Dewanchand [Tue, 10 Jul 2012 20:46:42 +0000 (20:46 +0000)]
Fix for issue [#31981] for tiles opencl:
initialize radius with correct value

8 years agoimproved node frame text alignment and use default label font (not monospaced)
Campbell Barton [Tue, 10 Jul 2012 20:44:25 +0000 (20:44 +0000)]
improved node frame text alignment and use default label font (not monospaced)

8 years agofix for Tiles bug - opencl:
Monique Dewanchand [Tue, 10 Jul 2012 20:33:24 +0000 (20:33 +0000)]
fix for Tiles bug - opencl:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output

8 years agoFix for tiles bug:
Monique Dewanchand [Tue, 10 Jul 2012 20:21:13 +0000 (20:21 +0000)]
Fix for tiles bug:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output

8 years agoScaling non-power-of-two (NPOT) textures to powers of two is really time consuming...
Mitchell Stokes [Tue, 10 Jul 2012 19:23:57 +0000 (19:23 +0000)]
Scaling non-power-of-two (NPOT) textures to powers of two is really time consuming and not necessary on graphics cards that can support NPOT textures. So, if the graphics card has NPOT texture support, don't bother scaling. If this patch causes issues, it can always be reverted and applied to Swiss instead.

8 years agoBump Blender version, so despill balance would stay untouched in
Sergey Sharybin [Tue, 10 Jul 2012 15:35:25 +0000 (15:35 +0000)]
Bump Blender version, so despill balance would stay untouched in
rare cases when it was intentionally set to 0.

8 years agoMake grumpy gcc in "overwarning" mode happy again...
Bastien Montagne [Tue, 10 Jul 2012 15:28:32 +0000 (15:28 +0000)]
Make grumpy gcc in "overwarning" mode happy again...

8 years agoKeying screen: small fixes and improvements from tomato
Sergey Sharybin [Tue, 10 Jul 2012 14:53:36 +0000 (14:53 +0000)]
Keying screen: small fixes and improvements from tomato

- Fixed issues with calculating matte with balance != 0.5
  It used to be used concave combination of minimal and maximal
  channel values which could be inpredictable.
  Use concave combination of two non-major channels sorted
  by their index, so such combination would always use the same
  coefficients for particular non-major channels.

- Added despill balance slider which defines balance between
  non-major channels used for calculating average of two
  colors. Difference between average value and pixel value of
  major screen channel defines amount of despill. Balance of
  0.5 gives the same behavior as it was before this slider
  was added.

svn merge -r48678:48679 -r48789:48790 ^/branches/soc-2011-tomato

8 years agoImproved cache management for movie clips from tomato branch
Sergey Sharybin [Tue, 10 Jul 2012 14:43:50 +0000 (14:43 +0000)]
Improved cache management for movie clips from tomato branch

Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:


it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.

Additional changes:

- Cleanup some memutil files (which are familiar to cache limiter)

- Add option to make moviecache verbose. If DEBUG_MESSAGES is
  defined in moviecache.c detailed logs would be printed to the

- Movie caches are now named which helps reading debug messages.

8 years agoMovie Clip Node: skip putting frame to cache when rendering animation
Sergey Sharybin [Tue, 10 Jul 2012 14:42:37 +0000 (14:42 +0000)]
Movie Clip Node: skip putting  frame to cache when rendering animation

This helps keeping memory usage low and have cached segments untouched
when mixing stuff like tracking and rendering -- now you wouldn't be
need to re-cache segment you're working on after rendering.

svn merge -r48550:48552 ^/branches/soc-2011-tomato

8 years agoFix for center calculation in node transforms. This now uses the actual barycenter...
Lukas Toenne [Tue, 10 Jul 2012 13:50:51 +0000 (13:50 +0000)]
Fix for center calculation in node transforms. This now uses the actual barycenter of node rect centers.

8 years agoSynchronize style cleanup changes made in tomato branch
Sergey Sharybin [Tue, 10 Jul 2012 13:41:21 +0000 (13:41 +0000)]
Synchronize style cleanup changes made in tomato branch

8 years agoFix compilation error when using MSVC
Sergey Sharybin [Tue, 10 Jul 2012 12:57:09 +0000 (12:57 +0000)]
Fix compilation error when using MSVC

8 years agoTag ununsed variable and make function real explicit prototype.
Sergey Sharybin [Tue, 10 Jul 2012 12:42:03 +0000 (12:42 +0000)]
Tag ununsed variable and make function real explicit prototype.

8 years agorefactor node highlight code. New implementation will not write to
Jeroen Bakker [Tue, 10 Jul 2012 12:23:49 +0000 (12:23 +0000)]
refactor node highlight code. New implementation will not write to
uninitialized memory. it happened when you delete a node that was being
executed. in the compostor

8 years agoMango request: added an input node to use track's position in compositor
Sergey Sharybin [Tue, 10 Jul 2012 11:01:25 +0000 (11:01 +0000)]
Mango request: added an input node to use track's position in compositor

svn merge -r48088:48089 -r48091:48092 ^/branches/soc-2011-tomato

8 years agoMango request: option to clamp result of Mix RGB and Color Math nodes
Sergey Sharybin [Tue, 10 Jul 2012 10:36:18 +0000 (10:36 +0000)]
Mango request: option to clamp result of Mix RGB and Color Math nodes

Merging r48792 from soc-2011-tomato into trunk

8 years agoMango request: disable compositing on file load.
Sergey Sharybin [Tue, 10 Jul 2012 10:31:05 +0000 (10:31 +0000)]
Mango request: disable compositing on file load.
This does not make much sense and just annoys in most of cases.

Merging r48793 from soc-2011-tomato into trunk

8 years agoFix #32052, Conflicts in unique node names.
Lukas Toenne [Tue, 10 Jul 2012 09:31:08 +0000 (09:31 +0000)]
Fix #32052, Conflicts in unique node names.

All node group operators which move nodes directly between bNodeTree->nodes lists now make sure the node names are indeed unique in their new environment (the node group tree or the parent tree).

8 years agoTomato mango request: do not start compositing on file load
Sergey Sharybin [Tue, 10 Jul 2012 09:12:39 +0000 (09:12 +0000)]
Tomato mango request: do not start compositing on file load

8 years agoTomato: added option to clamp result of Mix RGB and Color Math nodes
Sergey Sharybin [Tue, 10 Jul 2012 09:12:33 +0000 (09:12 +0000)]
Tomato: added option to clamp result of Mix RGB and Color Math nodes

8 years agoTomato: fix typos in mask maps used for raster cache
Sergey Sharybin [Tue, 10 Jul 2012 09:12:21 +0000 (09:12 +0000)]
Tomato: fix typos in mask maps used for raster cache

8 years agoTomato: fix wrong default value for despill balance
Sergey Sharybin [Tue, 10 Jul 2012 09:12:17 +0000 (09:12 +0000)]
Tomato: fix wrong default value for despill balance

8 years agorename raskter kdtree files to be less generic
Campbell Barton [Tue, 10 Jul 2012 06:47:21 +0000 (06:47 +0000)]
rename raskter kdtree files to be less generic

8 years agoInline the read Memory Buffer functions for speed optimizations.
Jeroen Bakker [Tue, 10 Jul 2012 06:31:16 +0000 (06:31 +0000)]
Inline the read Memory Buffer functions for speed optimizations.

8 years agofix: inline to __inline in raskter.c for msvc
Peter Larabell [Tue, 10 Jul 2012 05:16:43 +0000 (05:16 +0000)]
fix: inline to __inline in raskter.c for msvc

8 years agosome code refactors in raskter.c to sync it with build where mask tiling is being...
Peter Larabell [Tue, 10 Jul 2012 04:51:08 +0000 (04:51 +0000)]
some code refactors in raskter.c to sync it with build where mask tiling is being developed. Also adds a bit more mask tiling code.

8 years agoFix for a crash caused by ReplaceMesh changing an objects physics shape. CcdShapeCons...
Mitchell Stokes [Tue, 10 Jul 2012 02:05:06 +0000 (02:05 +0000)]
Fix for a crash caused by ReplaceMesh changing an objects physics shape. CcdShapeConstructionInfo::UpdateMesh() would change the CcdShapeConstructionInfo's m_meshObject, but didn't change m_meshShapeMap, which means the CcdShapeConstructionInfo object's destructor would not find it's m_meshObject in the m_meshShapeMap. This leaves some nasty dangling pointers laying around which caused issues if the scene was re-run, or the scene was changed to one that also had the mesh.

Note: This fix could cause other issues with shared physics meshes. In general, we may want to re-evaluate how we handle updating potentially shared physics meshes.