8 years agoprint names of nodes/sockets when cycles complains about only being able to connect...
Campbell Barton [Thu, 19 Jul 2012 13:04:43 +0000 (13:04 +0000)]
print names of nodes/sockets when cycles complains about only being able to connect a closure to another closure.

8 years agoadd lattice selection to rna
Campbell Barton [Thu, 19 Jul 2012 11:40:25 +0000 (11:40 +0000)]
add lattice selection to rna

8 years agoFix for
Jeroen Bakker [Thu, 19 Jul 2012 11:05:18 +0000 (11:05 +0000)]
Fix for
 * [#32040] size-input of a blur-node is uniform for the whole picture
 * [#32062] Blur node Size input is not working with
 * [#32140] Blur Node using a greyscale input as size multiplier fails
to work

Node now has a new option (new compositor cannot detect if the connected
part is a single value, or an image connected).

With this option the use of a reference image to multiply the size of
the blur per pixel can be enabled/disabled.

 - At Mind -

8 years agofix for separate loose parts doing full depsgraph rebuild for every object split...
Campbell Barton [Thu, 19 Jul 2012 10:23:25 +0000 (10:23 +0000)]
fix for separate loose parts doing full depsgraph rebuild for every object split off.

8 years agohandy function for getting a python stacktrace while debugging in gdb
Campbell Barton [Thu, 19 Jul 2012 09:55:49 +0000 (09:55 +0000)]
handy function for getting a python stacktrace while debugging in gdb

8 years agoremove unneeded externs
Campbell Barton [Thu, 19 Jul 2012 09:23:31 +0000 (09:23 +0000)]
remove unneeded externs

8 years agoFix #32118, Reroute nodes inside groups get created in wonky places. The operator...
Lukas Toenne [Thu, 19 Jul 2012 08:23:56 +0000 (08:23 +0000)]
Fix #32118, Reroute nodes inside groups get created in wonky places. The operator needs to take into account the potential offset from the group node (most operators use the node_add_node helper function which does this).

8 years agopoll function for edge loop delete.
Campbell Barton [Thu, 19 Jul 2012 08:04:12 +0000 (08:04 +0000)]
poll function for edge loop delete.

8 years agocode cleanup: remove commented includes - mostly from 2.4x
Campbell Barton [Wed, 18 Jul 2012 23:07:07 +0000 (23:07 +0000)]
code cleanup: remove commented includes - mostly from 2.4x

8 years agoquiet double promotion warnings for the game engine.
Campbell Barton [Wed, 18 Jul 2012 23:03:27 +0000 (23:03 +0000)]
quiet double promotion warnings for the game engine.

8 years agomask transform aspect correction wasn't working properly, also fix for own recent...
Campbell Barton [Wed, 18 Jul 2012 20:32:31 +0000 (20:32 +0000)]
mask transform aspect correction wasn't working properly, also fix for own recent commit which made cyclic report not show

8 years agoshift help with continuous grab on a curve point now does scaled motion.
Campbell Barton [Wed, 18 Jul 2012 17:29:15 +0000 (17:29 +0000)]
shift help with continuous grab on a curve point now does scaled motion.

8 years agoworkaround for a bug with zero edges getting removed got feather faces out of sync...
Campbell Barton [Wed, 18 Jul 2012 16:24:13 +0000 (16:24 +0000)]
workaround for a bug with zero edges getting removed got feather faces out of sync and crashed

8 years agoAdd Skin modifier's radius values to Transform panel (in 3D views).
Bastien Montagne [Wed, 18 Jul 2012 14:30:31 +0000 (14:30 +0000)]
Add Skin modifier's radius values to Transform panel (in 3D views).

8 years agoSome small fixes (grrr, python imports...).
Bastien Montagne [Wed, 18 Jul 2012 14:03:10 +0000 (14:03 +0000)]
Some small fixes (grrr, python imports...).

8 years agoadd difference blending mode, also fix error in last commit
Campbell Barton [Wed, 18 Jul 2012 13:44:48 +0000 (13:44 +0000)]
add difference blending mode, also fix error in last commit

8 years agochange bucket size to give better performance for high detail 4k masks, also clamp...
Campbell Barton [Wed, 18 Jul 2012 13:34:14 +0000 (13:34 +0000)]
change bucket size to give better performance for high detail 4k masks, also clamp from 0-1 for each layer when accumulating.

8 years agocode cleanup for mask capping
Campbell Barton [Wed, 18 Jul 2012 12:54:13 +0000 (12:54 +0000)]
code cleanup for mask capping

8 years agochance semi-circle mask capping resolution based on size.
Campbell Barton [Wed, 18 Jul 2012 12:45:20 +0000 (12:45 +0000)]
chance semi-circle mask capping resolution based on size.

8 years agoFix [#32068] Edge slide not working in certain circumstance from Front / Side views
Bastien Montagne [Wed, 18 Jul 2012 12:23:18 +0000 (12:23 +0000)]
Fix [#32068] Edge slide not working in certain circumstance from Front / Side views

Only visible edges are used to create the "sliding vector". The test used to detect whether edges were visible or not was working for solid shading, but useless in wire draw mode (as all edges are visible in this mode!)...

8 years agominor edits to mask rasterizer.
Campbell Barton [Wed, 18 Jul 2012 12:17:12 +0000 (12:17 +0000)]
minor edits to mask rasterizer.

8 years agoFixed wrong self-intersection check for non-closed splines
Sergey Sharybin [Wed, 18 Jul 2012 11:48:13 +0000 (11:48 +0000)]
Fixed wrong self-intersection check for non-closed splines

8 years agofix incorrect assert for mask face checking, also correct own bad spelling
Campbell Barton [Wed, 18 Jul 2012 11:01:23 +0000 (11:01 +0000)]
fix incorrect assert for mask face checking, also correct own bad spelling

8 years agoFixed crash of self-intersection loop in special cases
Sergey Sharybin [Wed, 18 Jul 2012 10:22:56 +0000 (10:22 +0000)]
Fixed crash of self-intersection loop in special cases

It was wrongly calculated bucket number per side in cases when some
of segments is filling the whole bounding box across some of dimension.

Solved by limiting buckets at least to 1 in such cases.

8 years agoFix #32132: Uniformly moving custom feather points does not work
Sergey Sharybin [Wed, 18 Jul 2012 09:56:10 +0000 (09:56 +0000)]
Fix #32132: Uniformly moving custom feather points does not work

8 years agomake links now allows groups - this means you can make objects have matching groups...
Campbell Barton [Wed, 18 Jul 2012 09:45:50 +0000 (09:45 +0000)]
make links now allows groups - this means you can make objects have matching groups to the active more easily.

8 years agoFix [#32135] FRAMERATE: Framerate display is truncated in selection box.
Bastien Montagne [Wed, 18 Jul 2012 08:51:19 +0000 (08:51 +0000)]
Fix [#32135] FRAMERATE: Framerate display is truncated in selection box.

Filename extension was striped twice...

8 years agoadding objects active groups now gives menu of which group to add to.
Campbell Barton [Wed, 18 Jul 2012 08:13:30 +0000 (08:13 +0000)]
adding objects active groups now gives menu of which group to add to.

8 years agoFix for [#32129] "2D filter texture width off by one?" reported by Alex Fraser (z0r).
Mitchell Stokes [Wed, 18 Jul 2012 05:51:44 +0000 (05:51 +0000)]
Fix for [#32129] "2D filter texture width off by one?" reported by Alex Fraser (z0r).

The GetWidth() and GetHeight() functions of the canvas' display area seem to give values that are both off by one for what OpenGL wants. Adding 1 to both values seems to fix the problem.

8 years agomask rasterizer unfilled line end capping now works with aspect and blending.
Campbell Barton [Tue, 17 Jul 2012 20:40:12 +0000 (20:40 +0000)]
mask rasterizer unfilled line end capping now works with aspect and blending.

8 years agowip mask capping - works but needs aspect correction and to be faded out.
Campbell Barton [Tue, 17 Jul 2012 20:01:01 +0000 (20:01 +0000)]
wip mask capping - works but needs aspect correction and to be faded out.

8 years agoSpellcheck: minkovsky -> minkowski! (Only in comments/UI messages :/ ).
Bastien Montagne [Tue, 17 Jul 2012 18:14:59 +0000 (18:14 +0000)]
Spellcheck: minkovsky -> minkowski! (Only in comments/UI messages :/ ).

8 years agoFix [#32133] Numpad Enter key doesnt work with Loopcut (worked in 2.49b)
Bastien Montagne [Tue, 17 Jul 2012 17:55:23 +0000 (17:55 +0000)]
Fix [#32133] Numpad Enter key doesnt work with Loopcut (worked in 2.49b)

Adding PADENTER to the "OK" keys...

8 years agoFeather self-intersection test speed up
Sergey Sharybin [Tue, 17 Jul 2012 16:22:18 +0000 (16:22 +0000)]
Feather self-intersection test speed up

Made some minor optimization such as:

- Avoid using "%" operation in loops, replace with a check
  for index "overflow".
- Use pre-computed values for scaling feather coordinates
  to 0 .. 1 space.

This allowed to reach couple of milliseconds of boost.

Another change is to use higher number of buckets (up to 512).
This doesn't took significantly more memory (like uses only 10MB
of memory for average splines) and allows to have 30-50x boost
for average splines.

Use dynamically calculated number of buckets for this, to be
sure segments would fit two buckets.

Also fixed intersection detection in some cases when edge is
shared between two buckets -- it is possible that such edge
would cross third bucket and intersect edge from there.

8 years agoholding shift with cont. grab now works on the hsv cube and the value slider.
Campbell Barton [Tue, 17 Jul 2012 15:44:33 +0000 (15:44 +0000)]
holding shift with cont. grab now works on the hsv cube and the value slider.

8 years agooption to clear all keys from a button, so you dont have to hunt about for the keys...
Campbell Barton [Tue, 17 Jul 2012 15:16:44 +0000 (15:16 +0000)]
option to clear all keys from a button, so you dont have to hunt about for the keys inserted.

8 years agofix for particle system using uninitialized stack memory with midpoint of rk4 integra...
Campbell Barton [Tue, 17 Jul 2012 13:28:30 +0000 (13:28 +0000)]
fix for particle system using uninitialized stack memory with midpoint of rk4 integrators.

8 years agouse math vector init functions
Campbell Barton [Tue, 17 Jul 2012 12:05:15 +0000 (12:05 +0000)]
use math vector init functions

8 years agoFixed crash when rasterizing spline with only one point
Sergey Sharybin [Tue, 17 Jul 2012 10:43:57 +0000 (10:43 +0000)]
Fixed crash when rasterizing spline with only one point

It was an issue in new feather self-intersection test code.

8 years agofix for scons building with compositor
Campbell Barton [Tue, 17 Jul 2012 10:38:22 +0000 (10:38 +0000)]
fix for scons building with compositor

8 years agofix for building without the compositor
Campbell Barton [Tue, 17 Jul 2012 10:19:47 +0000 (10:19 +0000)]
fix for building without the compositor

8 years agodisable feather collapse during drawing, its very slow.
Campbell Barton [Tue, 17 Jul 2012 09:56:10 +0000 (09:56 +0000)]
disable feather collapse during drawing, its very slow.

8 years agocode cleanup: spelling
Campbell Barton [Mon, 16 Jul 2012 23:23:33 +0000 (23:23 +0000)]
code cleanup: spelling

8 years agoFixed disappearing in some circumstances feather
Sergey Sharybin [Mon, 16 Jul 2012 19:23:15 +0000 (19:23 +0000)]
Fixed disappearing in some circumstances feather

Real fix would be to find a point which is definitely now on loop
to be collapsed, but that's for a bit later. This commit should
remove possible stoppers.

8 years agoFixed crash caused by recent feather collapse commit
Sergey Sharybin [Mon, 16 Jul 2012 18:34:57 +0000 (18:34 +0000)]
Fixed crash caused by recent feather collapse commit

8 years agoMasks: feather self-intersection collapse function
Sergey Sharybin [Mon, 16 Jul 2012 17:54:28 +0000 (17:54 +0000)]
Masks: feather self-intersection collapse function

This implements simple function which collapses internal loops
caused by self-intersections into a singularity.

This loops can't be removed because rasterizer expects points
of feather be aligned with points from spline itself.

8 years agoPut paint mask grid allocation in a critical section
Nicholas Bishop [Mon, 16 Jul 2012 16:55:58 +0000 (16:55 +0000)]
Put paint mask grid allocation in a critical section

When OpenMP is enabled, memory allocation needs to be protected.

Fixes bug [#32111] Memory management regression from svn_46520

8 years agotoggling node hide/sockets/options was triggering a re-render.
Campbell Barton [Mon, 16 Jul 2012 16:16:05 +0000 (16:16 +0000)]
toggling node hide/sockets/options was triggering a re-render.

8 years agocorrect own error in logic for skipping mask layers, inverted mask layers with zero...
Campbell Barton [Mon, 16 Jul 2012 15:40:47 +0000 (15:40 +0000)]
correct own error in logic for skipping mask layers, inverted mask layers with zero alpha still need to be evaluated.

8 years agoshow alpha in the mask buttons item list
Campbell Barton [Mon, 16 Jul 2012 14:27:45 +0000 (14:27 +0000)]
show alpha in the mask buttons item list

8 years agouse calculated spline resoltion rather then fixed at 32.
Campbell Barton [Mon, 16 Jul 2012 14:17:01 +0000 (14:17 +0000)]
use calculated spline resoltion rather then fixed at 32.

8 years agodefailt to ease weight interpolation
Campbell Barton [Mon, 16 Jul 2012 13:12:52 +0000 (13:12 +0000)]
defailt to ease weight interpolation

8 years agofix for crash & leak when layer render option is disabled.
Campbell Barton [Mon, 16 Jul 2012 13:00:54 +0000 (13:00 +0000)]
fix for crash & leak when layer render option is disabled.

8 years agofix for occasional crash with splines a lot larger then the view
Campbell Barton [Mon, 16 Jul 2012 12:49:01 +0000 (12:49 +0000)]
fix for occasional crash with splines a lot larger then the view

8 years agomask rasterizer - use quad interpolation - gets rid of ugly diagonal banding, introdu...
Campbell Barton [Mon, 16 Jul 2012 12:08:28 +0000 (12:08 +0000)]
mask rasterizer - use quad interpolation - gets rid of ugly diagonal banding, introduces glitch with bowtie quads, will have to fix next.

8 years agobarycentric_weights_v2_quad wasn't working quite right, rewrite as an expanded versio...
Campbell Barton [Mon, 16 Jul 2012 12:01:18 +0000 (12:01 +0000)]
barycentric_weights_v2_quad wasn't working quite right, rewrite as an expanded version of interp_weights_poly_v2() that cuts down duplicate calculations.

8 years agoadd 2d version of interp_weights_poly_v3
Campbell Barton [Mon, 16 Jul 2012 10:36:40 +0000 (10:36 +0000)]
add 2d version of interp_weights_poly_v3

8 years agomask fill/cyclic toggle wasnt refreshing compo nodes
Campbell Barton [Mon, 16 Jul 2012 09:41:38 +0000 (09:41 +0000)]
mask fill/cyclic toggle wasnt refreshing compo nodes

8 years agocorrect own naming error BLI -> BKE
Campbell Barton [Mon, 16 Jul 2012 08:53:11 +0000 (08:53 +0000)]
correct own naming error BLI -> BKE

8 years agofix for linking with scons.
Campbell Barton [Mon, 16 Jul 2012 08:42:55 +0000 (08:42 +0000)]
fix for linking with scons.

8 years agohandy cmake list macros for inserting items into a list before/after existing items
Campbell Barton [Mon, 16 Jul 2012 08:26:42 +0000 (08:26 +0000)]
handy cmake list macros for inserting items into a list before/after existing items

8 years agomask blending modes: lighten/darken/multiply/replace
Campbell Barton [Mon, 16 Jul 2012 07:23:16 +0000 (07:23 +0000)]
mask blending modes: lighten/darken/multiply/replace

8 years agofix crash for empty or single vertex layers.
Campbell Barton [Mon, 16 Jul 2012 07:04:10 +0000 (07:04 +0000)]
fix crash for empty or single vertex layers.

8 years agosmall speedup for mask rasterizer, only do single sided check for triangle intersection.
Campbell Barton [Mon, 16 Jul 2012 06:39:40 +0000 (06:39 +0000)]
small speedup for mask rasterizer, only do single sided check for triangle intersection.

8 years agoBGE: The Action Actuator now returns correct values to work with the Actuator Sensor.
Mitchell Stokes [Mon, 16 Jul 2012 03:43:57 +0000 (03:43 +0000)]
BGE: The Action Actuator now returns correct values to work with the Actuator Sensor.

8 years agosvn merge -r48944:48942 .
Campbell Barton [Sun, 15 Jul 2012 16:57:21 +0000 (16:57 +0000)]
svn merge -r48944:48942 .

revert moving the file, adding a new module didnt resolve linking issue.

8 years agomoving mask rasterizer file, this breaks building, will fix next commit
Campbell Barton [Sun, 15 Jul 2012 16:16:34 +0000 (16:16 +0000)]
moving mask rasterizer file, this breaks building, will fix next commit

8 years agoreplace fminf with minf
Campbell Barton [Sun, 15 Jul 2012 15:11:52 +0000 (15:11 +0000)]
replace fminf with minf

8 years ago"Fix" [#32033] In the execution result of with_automatic_weight, the difference is...
Bastien Montagne [Sun, 15 Jul 2012 12:53:16 +0000 (12:53 +0000)]
"Fix" [#32033] In the execution result of with_automatic_weight, the difference is seen right and left.

This auto/heat vgroup creation seems to be fuzzy/unstable (each run gives a slightly different result). I have not the competences (nor time) to investigate that laplacian stuff, so for now just adding an option when parenting to an armature with envelope/heat, to mirror weights along the X axis (as it is done by default when doing it from the Weight Paint mode).

8 years agomath function to get the intersection point between 2 lines (not 2 segments which...
Campbell Barton [Sun, 15 Jul 2012 11:35:13 +0000 (11:35 +0000)]
math function to get the intersection point between 2 lines (not 2 segments which we already have).

8 years agofix: node background image move operator didn't take zoom into account when clamping...
Campbell Barton [Sun, 15 Jul 2012 11:33:13 +0000 (11:33 +0000)]
fix: node background image move operator didn't take zoom into account when clamping pan bounds.

8 years agoFixed deadlock caused by thread locks added in 48893
Sergey Sharybin [Sun, 15 Jul 2012 10:48:19 +0000 (10:48 +0000)]
Fixed deadlock caused by thread locks added in 48893

This deadlock was caused by lock of threads using LOCK_DRAW_IMAGE
mutex and lock used in render result acquire functions.

So if image draw would lock LOCK_DRAW_IMAGE before compositor
operation released render result it'll lead into a deadlock.

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