blender.git
8 years agoMerging r48971 through r48980 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 16 Jul 2012 17:58:23 +0000 (17:58 +0000)]
Merging r48971 through r48980 from trunk into soc-2011-tomato

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
projects.blender.org/tracker/index.php?func=detail&aid=32111&group_id=9&atid=498

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 agosvn merge ^/trunk/blender -r48967:48970
Campbell Barton [Mon, 16 Jul 2012 14:29:23 +0000 (14:29 +0000)]
svn merge ^/trunk/blender -r48967:48970

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 agosvn merge ^/trunk/blender -r48961:48967
Campbell Barton [Mon, 16 Jul 2012 13:13:27 +0000 (13:13 +0000)]
svn merge ^/trunk/blender -r48961:48967

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 agoMerging r48954 through r48961 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 16 Jul 2012 11:06:26 +0000 (11:06 +0000)]
Merging r48954 through r48961 from trunk into soc-2011-tomato

8 years agoColor management: resolve some of current TODOs
Sergey Sharybin [Mon, 16 Jul 2012 10:51:14 +0000 (10:51 +0000)]
Color management: resolve some of current TODOs

- Some of TODO notes were laying around but they in fact
  were resolved a while ago, removed this notes form the code.

- De-duplicate input color space settings drawing in clip and
  image spaces. Moved this stuff to a template which could also
  be used in Python.

- Replace py-defined view transform settings panel with a
  C-defined template as well. Use it in space panels and
  image format settings.

- Remove display settings from color management settings
  panels used by different spaces. Use window settings
  instead.

8 years agoColor management: display descriptions for color spaces
Sergey Sharybin [Mon, 16 Jul 2012 10:51:02 +0000 (10:51 +0000)]
Color management: display descriptions for color spaces

This descriptions are being read from ocio configuration and
exposed into UI via standard enum's tooltips.

8 years agoColor management: support of configurable input color space
Sergey Sharybin [Mon, 16 Jul 2012 10:50:53 +0000 (10:50 +0000)]
Color management: support of configurable input color space

This adds a user-defined input color space name for image and
movie clip data blocks. Support for this thing for other data
blocks is still a TODO.

Input color space is being used on loading file to convert
loaded image buffer from this space to scene linear space,
later this space is never used in a pipeline.

Color space name was wrapped into own structure like it's
done for display and view settings. This helps keep code
de-duplicated in RNA and it'll help when likely more options
are added into input color space settings (i.e. flag whether
image could be color managed or it's a non-color data).

This implied quite of internal refactoring:

- Made routines around threaded display buffer calculation
  more general, so any kind of color transform could be
  performed using the same technique.

- Added function to convert given float buffer from given
  input color space to output color space. This is a public
  function which could be used in such a things as compositor
  node.

- Added function to convert ImBuf's content to scene linear
  space. Currently used only for images and clips. Should be
  added to any image/movie-related data blocks such as
  sequencer strips, but that a bit more long-term plan.

- If input color space is set to NONE then no buffer transform
  would be performed on image loading. It'll behave in the same
  way as using scene linear as input space.

8 years agoColor management: cleanup of ocio config file
Sergey Sharybin [Mon, 16 Jul 2012 10:50:38 +0000 (10:50 +0000)]
Color management: cleanup of ocio config file

- Minor style cleanup

- Made scene linear space rec709 instead of aces
  Reference space is still aces

- Get rid of hardcoded rec -. rec709 transformation on view transforms
  This would make view transform be applied on a reference color space
  how it's supposed to be.
  Since scene linear is rec709 such a hardcoded transform isn't needed
  anymore.
  This also fixes wrong Log view transform which used to look really
  weird and now it's nice and smooth.

- Also made changes to SPI and Nuke configurations to make them behave
  properly with reference space of aces.

- Renamed Nuke's rec709 space to nuke_rec709. Probably it could  be
  replaced with scene rec709, but that's requires more investigation.

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 agosvn merge ^/trunk/blender -r48937:48953
Campbell Barton [Mon, 16 Jul 2012 08:48:06 +0000 (08:48 +0000)]
svn merge ^/trunk/blender -r48937:48953

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 agoMerging r48928 through r48937 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 15 Jul 2012 10:51:36 +0000 (10:51 +0000)]
Merging r48928 through r48937 from trunk into soc-2011-tomato

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 agoColor management: color management support for saving movie files
Sergey Sharybin [Sun, 15 Jul 2012 10:43:50 +0000 (10:43 +0000)]
Color management: color management support for saving movie files

This enables color management for movie files saving when rendering
animation. It uses the same settings as saving byte images.

8 years agoColor management: implemented ability to color manage byte buffers
Sergey Sharybin [Sun, 15 Jul 2012 10:43:45 +0000 (10:43 +0000)]
Color management: implemented ability to color manage byte buffers

Color management of byte buffers is currently disabled, to enable
it COLORMANAGE_BYTE_BUFFER from colormanagement.c should be defined.

Currently color management supposes that byte buffer is originally
in sRGB space. Ideally it'll be using the same input color space
setting as float buffer which is still in a TODO list.

It could be nice artistic option to play with. Also in theory it's
possible that byte images would store data in non-sRGB space.

There's still kind of issue with byte buffers which results in
showing linear image when view transform is set to RAW. It'll be
resolved as soon as real input color space is added. Other view
transformations should work fine.

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 agosvn merge ^/trunk/blender -r48911:48927
Campbell Barton [Sat, 14 Jul 2012 20:56:40 +0000 (20:56 +0000)]
svn merge ^/trunk/blender -r48911:48927

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).

notes:
- 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 agosvn merge ^/trunk/blender -r48893:48911
Campbell Barton [Sat, 14 Jul 2012 13:04:01 +0000 (13:04 +0000)]
svn merge ^/trunk/blender -r48893:48911

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 agoMerging r48889 through r48893 from trunk into soc-2011-tomato
Sergey Sharybin [Fri, 13 Jul 2012 14:21:17 +0000 (14:21 +0000)]
Merging r48889 through r48893 from trunk into soc-2011-tomato

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
drawing.

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 agosvn merge ^/trunk/blender -r48868:48888
Campbell Barton [Fri, 13 Jul 2012 12:06:31 +0000 (12:06 +0000)]
svn merge ^/trunk/blender -r48868:48888

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 agoMerging r48862 through r48868 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 12 Jul 2012 17:19:54 +0000 (17:19 +0000)]
Merging r48862 through r48868 from trunk into soc-2011-tomato

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 agoMerging r48829 through r48861 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 12 Jul 2012 12:12:21 +0000 (12:12 +0000)]
Merging r48829 through r48861 from trunk into soc-2011-tomato

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
reversed.

Fixes bug [#32079] Skin-modifier calculates root's normals wrong
projects.blender.org/tracker/index.php?func=detail&aid=32079&group_id=9&atid=498