7 years agohandy function for getting the 2d camera coords for a worldspace location.
Campbell Barton [Thu, 13 Jun 2013 13:51:01 +0000 (13:51 +0000)]
handy function for getting the 2d camera coords for a worldspace location.

 bpy_extras.object_utils.world_to_camera(scene, obj, coord)

7 years agoFix #35733: lamps on render layers that are both excluded and used for masking
Brecht Van Lommel [Thu, 13 Jun 2013 13:09:32 +0000 (13:09 +0000)]
Fix #35733: lamps on render layers that are both excluded and used for masking
should not be used, same as emissive meshes.

7 years agocode cleanup: also fix crash in GPU_state_print(). and confine to debug mode builds.
Campbell Barton [Thu, 13 Jun 2013 11:59:28 +0000 (11:59 +0000)]
code cleanup: also fix crash in GPU_state_print(). and confine to debug mode builds.

7 years agoAdded NULL check for socket type make_socket_interface
Sergey Sharybin [Thu, 13 Jun 2013 11:49:22 +0000 (11:49 +0000)]
Added NULL check for socket type make_socket_interface

Without this check it's easy to crash blender by passing
non-existing socket type to function.

7 years agofix for pythons __dir__ returning registrable functions on class instances (which...
Campbell Barton [Thu, 13 Jun 2013 11:35:25 +0000 (11:35 +0000)]
fix for pythons __dir__ returning registrable functions on class instances (which may not have the functions defined).
gave odd behavior of including members in __dir__ that couldn't getattr()

7 years agoRemoved the Material Boundary option from the edge detection options in
Tamito Kajiyama [Thu, 13 Jun 2013 11:10:18 +0000 (11:10 +0000)]
Removed the Material Boundary option from the edge detection options in
the Parameter Editor mode.  The Material Boundary toggle button takes
effect only in the Python Scripting mode.  Instead the Parameter Editor
mode automatically determines which edge types need to be computed on the
basis of user-specified line selection criteria in terms of edge types.

Problem report from Light BWK through personal communications, thanks!

7 years agoFix crash in movie clip node when ibuf fails to load.
Sergey Sharybin [Thu, 13 Jun 2013 10:25:41 +0000 (10:25 +0000)]
Fix crash in movie clip node when ibuf fails to load.

Was a stupid mistake in another fix here :(

7 years agoSafety check for function: Added NEVER_NULL flags to from_socket...
Lukas Toenne [Thu, 13 Jun 2013 09:52:14 +0000 (09:52 +0000)]
Safety check for function: Added NEVER_NULL flags to from_socket/to_socket arguments to make sure the function doesn't crash when passing None/NULL.

7 years agofix [#35346] Python: still UI issue with popup and dropdown list
Campbell Barton [Thu, 13 Jun 2013 09:12:53 +0000 (09:12 +0000)]
fix [#35346] Python: still UI issue with popup and dropdown list

7 years agofix [#35713] Set Origin not waiting for user input.
Campbell Barton [Thu, 13 Jun 2013 01:39:07 +0000 (01:39 +0000)]
fix [#35713] Set Origin not waiting for user input.

Only activate search-box items on mouse-release,
Otherwise this gives odd behavior when using the operator-search popup since some tools expect the mouse buttons not to be held when activating which includes operators that have their own popup menus.

7 years agointernal change to searchbox: store the active search index rather then index + 1...
Campbell Barton [Thu, 13 Jun 2013 01:13:26 +0000 (01:13 +0000)]
internal change to searchbox: store the active search index rather then index + 1, simplifies checks.

7 years agofix for problem with creating weight-paint preview.
Campbell Barton [Thu, 13 Jun 2013 00:33:48 +0000 (00:33 +0000)]
fix for problem with creating weight-paint preview.

In the case where the modifier stack didnt need deform-verts to calculate,
they would not be available for the preview either.

This fixes a bug caused by r57206 which set mirror to preview so the mirrored
weights would be displayed, but it only worked when there was an armature after it, see [#35545].

7 years agoFix #35723: cycles motion blur rendering issue after recent optimizations to skip
Brecht Van Lommel [Wed, 12 Jun 2013 20:47:48 +0000 (20:47 +0000)]
Fix #35723: cycles motion blur rendering issue after recent optimizations to skip
some unneeded object syncing.

7 years agoFix #35715: incorrect shortcut shown for some menus after recent code refactoring.
Brecht Van Lommel [Wed, 12 Jun 2013 20:47:46 +0000 (20:47 +0000)]
Fix #35715: incorrect shortcut shown for some menus after recent code refactoring.

7 years agoFix #35353: Freestyle + Compositor + Auto-render renders freestyle lines in the wrong...
Tamito Kajiyama [Wed, 12 Jun 2013 17:59:03 +0000 (17:59 +0000)]
Fix #35353: Freestyle + Compositor + Auto-render renders freestyle lines in the wrong place.

7 years agoTrack Position node now could output absolute position of track at a given frame
Sergey Sharybin [Wed, 12 Jun 2013 14:28:36 +0000 (14:28 +0000)]
Track Position node now could output absolute position of track at a given frame

7 years agoRemove magic constants from Track Position node RNA code.
Sergey Sharybin [Wed, 12 Jun 2013 12:55:44 +0000 (12:55 +0000)]
Remove magic constants from Track Position node RNA code.

7 years agoCleaned code a bit around 2D stabilization
Sergey Sharybin [Wed, 12 Jun 2013 12:34:10 +0000 (12:34 +0000)]
Cleaned code a bit around 2D stabilization

Hopefully it's more readable now. Took me a while to remmeber
all the stuff going on here while was looking into possibility
of implementing some feature here.

7 years agoBugfix [#35668] Tooltip for Euler Discontinuity Filter was misleading
Joshua Leung [Wed, 12 Jun 2013 12:32:07 +0000 (12:32 +0000)]
Bugfix [#35668] Tooltip for Euler Discontinuity Filter was misleading

The tooltip seemed to hint that this tool is able to resolve all manner of
gimble-lock situations by untangling the curves (i.e. performing some kind of
equivalent-angles resolution, keeping in mind the nearest situations nearby).
However, this tool currently only performs corrections for the most basic case
when large jump+flip discontinuity artifacts appear in euler rotation curves as
a result of rotation values getting clipped to +/- 180 degrees, which arises
when these rotation curves are the result of baking some physics sim or so.

(Also, fixed an unrelated "replace-all" typo in a comment)

7 years agoFix #35703, Viewer node doesn't updates image sometimes. The viewer node was not...
Lukas Toenne [Wed, 12 Jun 2013 11:26:44 +0000 (11:26 +0000)]
Fix #35703, Viewer node doesn't updates image sometimes. The viewer node was not getting correctly initialized node->id pointer to the Viewer image (thanks to Sergey for figuring that out). The original
proposal was to add another special init hack for the viewer node->id, but rather would do it right and so moved all the special init hacks for constant ID backpointers (Scene for RenderLayer, Composite,
Defocus, FileOutput and MovieClip for MovieClip, MovieDistortion and Stabilization nodes). These are now part of the local init callbacks functions of the appropriate nodes, using the new initfunc_api
callback which takes a Context pointer, so they have access to Scene.

7 years agoVertex weight panel now uses same sort order as Vertex Group list
Gaia Clary [Wed, 12 Jun 2013 10:39:27 +0000 (10:39 +0000)]
Vertex weight panel now uses same sort order as Vertex Group list

7 years agoifdef bugfix since its a little strange.
Campbell Barton [Wed, 12 Jun 2013 10:03:13 +0000 (10:03 +0000)]
ifdef bugfix since its a little strange.

7 years agoprepared local vgroup selection function for more general usage
Gaia Clary [Wed, 12 Jun 2013 09:52:37 +0000 (09:52 +0000)]
prepared local vgroup selection function for more general usage

7 years agosolidify: dont add poly-normal layer to the derived mesh, since this is no longer...
Campbell Barton [Wed, 12 Jun 2013 09:35:02 +0000 (09:35 +0000)]
solidify: dont add poly-normal layer to the derived mesh, since this is no longer a convention.

7 years agofix [#35710] Mesh explodes while using solidify modifier with tubular non-manifold...
Campbell Barton [Wed, 12 Jun 2013 08:24:31 +0000 (08:24 +0000)]
fix [#35710] Mesh explodes while using solidify modifier with tubular non-manifold base mesh.

7 years agochange to solidify modifiers own normal calculation function, dont attempt to calcula...
Campbell Barton [Wed, 12 Jun 2013 07:53:54 +0000 (07:53 +0000)]
change to solidify modifiers own normal calculation function, dont attempt to calculate normals for edges with 3+ face users.

7 years agooptimize solidify, no need to do edgehash lookups, the edges are known.
Campbell Barton [Wed, 12 Jun 2013 07:16:13 +0000 (07:16 +0000)]
optimize solidify, no need to do edgehash lookups, the edges are known.

7 years agoSupplementary fix for #35640, internal node group trees (inside material, lamp, world...
Lukas Toenne [Wed, 12 Jun 2013 07:02:52 +0000 (07:02 +0000)]
Supplementary fix for #35640, internal node group trees (inside material, lamp, world, texture and scene) still keep their original library pointer when appending, making them uneditable. Clearing the
lib pointer now has been moved inside the id_clear_lib_data function, with an ugly switch statement to handle integrated node trees.

7 years agosolidify: reduce sign conversions.
Campbell Barton [Wed, 12 Jun 2013 06:51:02 +0000 (06:51 +0000)]
solidify: reduce sign conversions.

7 years agosolidify: remove BLI_array realloc's.
Campbell Barton [Wed, 12 Jun 2013 06:20:24 +0000 (06:20 +0000)]
solidify: remove BLI_array realloc's.

7 years agocorrect solidify normal calculation logic
Campbell Barton [Wed, 12 Jun 2013 06:06:19 +0000 (06:06 +0000)]
correct solidify normal calculation logic
- always calculate vertex normals since they are used as fallbacks.
- only calculate rim normals if the normals are not already flagged as dirty.

7 years agominor changes to the script auto-execution based on Brecht's suggestions.
Campbell Barton [Wed, 12 Jun 2013 00:10:56 +0000 (00:10 +0000)]
minor changes to the script auto-execution based on Brecht's suggestions.

7 years agoFix #35665: more CUDA issues with recent kernel changes, tested on sm_20, sm_21
Brecht Van Lommel [Tue, 11 Jun 2013 21:58:48 +0000 (21:58 +0000)]
Fix #35665: more CUDA issues with recent kernel changes, tested on sm_20, sm_21
and sm_30 cards, so hopefully it should all work now.

Also includes some warnings fixes related to nvcc compiler arguments, should make
no difference otherwise.

7 years agoFix lamp size allowing negative values.
Brecht Van Lommel [Tue, 11 Jun 2013 21:58:43 +0000 (21:58 +0000)]
Fix lamp size allowing negative values.

7 years agofix [#35574] Export Key Map issue
Campbell Barton [Tue, 11 Jun 2013 15:11:55 +0000 (15:11 +0000)]
fix [#35574] Export Key Map issue

problem was the keymap failed to import but didnt give any feedback, now it displays error message.

7 years agoFix #35711: cycles border render issue after recent changes.
Brecht Van Lommel [Tue, 11 Jun 2013 14:15:46 +0000 (14:15 +0000)]
Fix #35711: cycles border render issue after recent changes.

7 years agoFix #35251: cycles crash rendering with a particular user preferences configuration.
Brecht Van Lommel [Tue, 11 Jun 2013 12:52:02 +0000 (12:52 +0000)]
Fix #35251: cycles crash rendering with a particular user preferences configuration.

7 years agoFix #35405: properties editor preview render restarted unnecessarily after F12 render.
Brecht Van Lommel [Tue, 11 Jun 2013 12:37:56 +0000 (12:37 +0000)]
Fix #35405: properties editor preview render restarted unnecessarily after F12 render.

7 years agoFix #35704: Simplify on scene with dupli recursion crashes
Sergey Sharybin [Tue, 11 Jun 2013 11:21:16 +0000 (11:21 +0000)]
Fix #35704: Simplify on scene with dupli recursion crashes

Couple of issues here:

- User shouldn't be able to run into dupligroup recursion.
  It was checking already when setting a group for dupli.
  Added check to operator which adds object to group.

- It's still possible files with recursion are hanging around,
  so made simplify function robust to such kind of crap.

7 years agoUse OpenMP threads in bm_loop_interp_mdisps
Sergey Sharybin [Tue, 11 Jun 2013 09:14:39 +0000 (09:14 +0000)]
Use OpenMP threads in bm_loop_interp_mdisps

Gives approx 2x speedup on my laptop on such operations
as mesh subdivision in edit mode. Desktops with fancier
CPUs could benefit even more.

Thanks Campbell for review!

7 years agoFix compilation error caused by recent wavelength node commit
Sergey Sharybin [Tue, 11 Jun 2013 08:07:05 +0000 (08:07 +0000)]
Fix compilation error caused by recent wavelength node commit

Apparently, it's bad idea to rely on compiler to cast NULL
which is (void*)0 to int -- and in fact if i was a compiler
would also generate an error.

Further, couldn't see why we need to pass NULL or 0 th add_node,
argument value is defautl to 0 already.

7 years agoFix for distortion happens when flipping mesh normals
Sergey Sharybin [Tue, 11 Jun 2013 08:06:59 +0000 (08:06 +0000)]
Fix for distortion happens when flipping mesh normals

Issue was caused by missing X/Y displacement components
flip when flipping the normals (flipping the normals changes
the tangent space apparently and displacement vectors need
to be modified to correspond to new space).

Reported by Jonathan Williamson in IRC.

7 years agoanother case that should have been in r57371, also reduce type conversions in compassion.
Campbell Barton [Tue, 11 Jun 2013 05:56:02 +0000 (05:56 +0000)]
another case that should have been in r57371, also reduce type conversions in compassion.

7 years agofix for problem where curve handles in editmode could be obscured by other selected...
Campbell Barton [Tue, 11 Jun 2013 05:21:36 +0000 (05:21 +0000)]
fix for problem where curve handles in editmode could be obscured by other selected objects (referred to in [#35669])

7 years agofix [#35656] Crash on File Browser
Campbell Barton [Tue, 11 Jun 2013 05:09:12 +0000 (05:09 +0000)]
fix [#35656] Crash on File Browser

7 years agoFix #35561: freestyle + read full sample layers = crash.
Tamito Kajiyama [Tue, 11 Jun 2013 02:32:01 +0000 (02:32 +0000)]
Fix #35561: freestyle + read full sample layers = crash.

Now add_freestyle() in pipeline.c takes a second argument to enable/disable
stroke rendering.  When stroke rendering is disabled, the function allocates
data structures but does not perform stroke rendering.  The allocated data
structures (mostly left unpopulated with data elements) are intended to allow
for the Read Full Sample Layers (Shift-R) command in the compositor.

7 years agoCycles / Wavelength to RGB node:
Thomas Dinges [Mon, 10 Jun 2013 21:55:41 +0000 (21:55 +0000)]
Cycles / Wavelength to RGB node:
* Added a node to convert wavelength (in nanometers, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier.

* Code cleanup:
** Moved color functions (xyz and hsv) into dedicated utility files.
** Remove svm_lerp(), use interp() instead.


Example render:

This is part of my GSoC 2013. (revisions 57322, 57326, 57335 and 57367 from soc-2013-dingto).

7 years agoFix msvc compile error with subdivide use_smooth_even option.
Brecht Van Lommel [Mon, 10 Jun 2013 20:54:08 +0000 (20:54 +0000)]
Fix msvc compile error with subdivide use_smooth_even option.

7 years agoFix cycles OSL node sockets not preserving values when updating with new code.
Brecht Van Lommel [Mon, 10 Jun 2013 20:47:58 +0000 (20:47 +0000)]
Fix cycles OSL node sockets not preserving values when updating with new code.

7 years agoCycles: ray visibility panel is now also available for the world, works same as
Brecht Van Lommel [Mon, 10 Jun 2013 20:34:34 +0000 (20:34 +0000)]
Cycles: ray visibility panel is now also available for the world, works same as
meshes and lamps. The light path node already made this possible but it's a bit
faster to render this way and convenient.

7 years agoFix cycles backwards compatibility for specular_toon shader this actually needs
Brecht Van Lommel [Mon, 10 Jun 2013 20:10:03 +0000 (20:10 +0000)]
Fix cycles backwards compatibility for specular_toon shader this actually needs
to be done in cycles itself to keep compatibility for bytecode too.

Also fix broken button to compile OSL from the text editors, this got broken after
recent change to disable editing of library linked nodes.

7 years agoCycles lamp specials menu now includes separate X/Y size for area lamps
Brecht Van Lommel [Mon, 10 Jun 2013 19:01:40 +0000 (19:01 +0000)]
Cycles lamp specials menu now includes separate X/Y size for area lamps
and strength (for the basic default node setup, this can't work with with
arbitrary nodes).

7 years agoAttempt to fix #35665: disable correlated multi jitter sampling on the GPU for now,
Brecht Van Lommel [Mon, 10 Jun 2013 19:01:37 +0000 (19:01 +0000)]
Attempt to fix #35665: disable correlated multi jitter sampling on the GPU for now,
seems to be giving issues with CUDA 4.2 but I can't figure out why exactly.

7 years agoFollow up to r57354: WeightVG and Wave modifiers too need to handle tex id refcount ;)
Bastien Montagne [Mon, 10 Jun 2013 18:12:07 +0000 (18:12 +0000)]
Follow up to r57354: WeightVG and Wave modifiers too need to handle tex id refcount ;)

7 years agoFix for crash when assigning NULL pointer to node group node_tree property. This...
Lukas Toenne [Mon, 10 Jun 2013 17:48:41 +0000 (17:48 +0000)]
Fix for crash when assigning NULL pointer to node group node_tree property. This is generally allowed (though operators usually would prevent it).

7 years agoFix #35678: Duplicating an object with Displace modifier does not increase the refere...
Sergey Sharybin [Mon, 10 Jun 2013 14:04:03 +0000 (14:04 +0000)]
Fix #35678: Duplicating an object with Displace modifier does not increase the reference count of the texture

7 years agoFix #35658: OpenEXR (from Maya) - missing passes
Sergey Sharybin [Mon, 10 Jun 2013 13:54:09 +0000 (13:54 +0000)]
Fix #35658: OpenEXR (from Maya) - missing passes

Added some special case for two-component channels name.

Maybe magic could be simplified to just use last char of
channel name as an id, but extra paranoid check never hurts.

7 years agoFix #35681: cycles excluded layers still got evaluated before and after
Brecht Van Lommel [Mon, 10 Jun 2013 13:53:38 +0000 (13:53 +0000)]
Fix #35681: cycles excluded layers still got evaluated before and after
rendering even if they were not used on any render layers.

7 years agoChanges to mask evaluation
Sergey Sharybin [Mon, 10 Jun 2013 13:07:02 +0000 (13:07 +0000)]
Changes to mask evaluation

- BKE_mask_update_scene was only used with do_newframe=FALSE,
  removed this argument.

- Made it so BKE_mask_update_scene is able to handle LIB_ID_RECALC_DATA
  case. Namely, if mask ID is tagged for data update it means shapekeys
  will be re-evaluated (as if do_newframe=true).

  If mask id only tagged for LIB_ID_RECALC, then no shapekey evaluation
  happens (same as it used to behave before).

  This means, doing DAG_id_tag_update(&mask->id, OB_RECALC_DATA) will
  lead to shapekeys re-evaluation which is really needed in such
  operators as clearing shapekeys (and cleaning shapekeys which is
  in tomato branch yet).

  This is a bit silly to use OB_RECALC_DATA sine mask is not an OB,
  but could not see better way to do it now.

This fixes missing mask re-evaluation after clearing shapekey,
would expect no other functional changes.

7 years agoFix cycles OSL backwards compatibility for specular_toon, it got renamed to glossy_toon
Brecht Van Lommel [Mon, 10 Jun 2013 13:06:10 +0000 (13:06 +0000)]
Fix cycles OSL backwards compatibility for specular_toon, it got renamed to glossy_toon
but we can keep the old name working too.

7 years agoFix #35653: manual texture space location and size not working in cycles viewport.
Brecht Van Lommel [Mon, 10 Jun 2013 13:01:41 +0000 (13:01 +0000)]
Fix #35653: manual texture space location and size not working in cycles viewport.

7 years agoCustom Group Node type for extending existing nodes from python scripts. This is...
Lukas Toenne [Mon, 10 Jun 2013 12:19:39 +0000 (12:19 +0000)]
Custom Group Node type for extending existing nodes from python scripts. This is a sort of workaround for the lack of APIs in our existing node systems (compositor, cycles, BI, textures). These systems
don't have any way to deal with scripted node types yet, which could in principle by added with pynodes. The NodeCustomGroup type adds a way of scripting nodes by automating node groups which the
hardcoded system can then interpret like regular groups.

The new NodeCustomGroup type has the basic node_tree pointer property like the regular group node types and also uses the same socket interface system as regular groups. This means that input/output
sockets can be mapped to internal nodes in the same way as regular node groups in renderers and the compositor. On top of that, however, the NodeCustomGroup type can be subclassed in python scripts to flesh out
scripted node types with own draw functions, properties, updates and so on.

NB: Only cycles currently supports this node type and its derivatives, other systems may follow later.

7 years agofix [#35691] Context Override replaces instead of overrides
Campbell Barton [Mon, 10 Jun 2013 12:17:36 +0000 (12:17 +0000)]
fix [#35691] Context Override replaces instead of overrides

7 years agoBugfix [#35382] NLA "Multiply" Blend Mode calculated incorrectly
Joshua Leung [Mon, 10 Jun 2013 11:58:57 +0000 (11:58 +0000)]
Bugfix [#35382] NLA "Multiply" Blend Mode calculated incorrectly

The "Multiply" blending mode for NLA strips worked incorrectly. Instead of
modulating the influence of the current strip, it was in fact scaling the result
of the entire stack (with the strip applied). This caused problems when
influence = 0, as it was in fact muting everything instead of just controlling
the strip we are interested in.

7 years agoFix bug in vertex group code after recent changes, did not do proper NULL
Brecht Van Lommel [Mon, 10 Jun 2013 11:08:39 +0000 (11:08 +0000)]
Fix bug in vertex group code after recent changes, did not do proper NULL
pointer check.

7 years agoRNA: simplify space type items code, no need to have this duplicated.
Brecht Van Lommel [Mon, 10 Jun 2013 11:08:37 +0000 (11:08 +0000)]
RNA: simplify space type items code, no need to have this duplicated.

7 years agoReplaced a hard-coded array length with MAX_ID_NAME.
Tamito Kajiyama [Mon, 10 Jun 2013 10:58:49 +0000 (10:58 +0000)]
Replaced a hard-coded array length with MAX_ID_NAME.

7 years agocorrection to typo in r57327, ui-load wasnt working on splash screen.
Campbell Barton [Mon, 10 Jun 2013 10:55:57 +0000 (10:55 +0000)]
correction to typo in r57327, ui-load wasnt working on splash screen.

also minor changes:
- update the load-UI flag when changing in the preferences.
- remove unused initialization values for subdivide.

7 years agoCorrection to previous maya keymap commit
Sergey Sharybin [Mon, 10 Jun 2013 10:45:25 +0000 (10:45 +0000)]
Correction to previous maya keymap commit

Added UNDOflag to the wrong operator..

7 years agoFix for r57316: SPACE_EMPTY *is* needed in RNA enum for now, exported keymaps abuse...
Bastien Montagne [Mon, 10 Jun 2013 10:37:24 +0000 (10:37 +0000)]
Fix for r57316: SPACE_EMPTY *is* needed in RNA enum for now, exported keymaps abuse it...

So for now, static enum is back to its previous form, and the menu one is dynamically generated by a callback. Not nice, but works.

7 years agoFix #35661: Maya key config - select operations are skipped by "undo"
Sergey Sharybin [Mon, 10 Jun 2013 09:57:10 +0000 (09:57 +0000)]
Fix #35661: Maya key config - select operations are skipped by "undo"

7 years agoMade blender compilable with strict flags again.
Sergey Sharybin [Mon, 10 Jun 2013 09:45:55 +0000 (09:45 +0000)]
Made blender compilable with strict flags again.

Maybe Joshua would want to check on arguments for nlaevalchan_verify.

7 years agoFix #35683: Addon working fine in console. But crashed when click GUI button.
Sergey Sharybin [Mon, 10 Jun 2013 09:45:51 +0000 (09:45 +0000)]
Fix #35683: Addon working fine in console. But crashed when click GUI button.

Crash happened in ED_view3d_calc_zfac and happend in cases operator was invoked
from a region different from RGN_TYPE_WINDOW.

For a transformation zfac is only used in convertViewVec in cases region is
RGN_TYPE_WINDOW, so solved by just adding extra check in calculateCenter
for this particular case.

7 years agooptimize customdata lookups for subdivision.
Campbell Barton [Mon, 10 Jun 2013 05:18:45 +0000 (05:18 +0000)]
optimize customdata lookups for subdivision.

7 years agoBugfixes [#35263], [#35382] NLA Animated Influence is ignored if strips below
Joshua Leung [Mon, 10 Jun 2013 05:10:58 +0000 (05:10 +0000)]
Bugfixes [#35263], [#35382] NLA Animated Influence is ignored if strips below
have zero total influence

Previously, when evaluating the NLA stack at a particular point in time, if a
channel hadn't been encountered before, influence values were simply ignored
when accumulating the values contributed by each strip to the overall stack.

This behaviour simplified the handling of the problem of what "baseline" to
blend relative to (i.e. influence basically scales the magnitude of a scalar
around 0, but we may not exactly want a property to get it's value set to 0 as
baseline). However, the problem was that this meant that you'd get popping
artifacts when the a lower strip finally reaches influence=0 but your upper
strips haven't fully reached maximum yet ([#35382]). Another problem was that
you'd end up with less ability to scale the influence of all strips (as in

So, as a stop-gap fix now, we will allow influence scaling to work on these
strips too. This still doesn't fix some of the other problems regarding
baselines/rest-poses and deterministic behaviour when some channels are only
keyed in one strip which isn't set to extend it's influence... Fixing those
issues is a bit more involved, and would require a bit of refactoring of how we
keep track of accumulation channels.

7 years agoBugfix [#35643] Animated textures are invisible in Graph Editor if it is not
Joshua Leung [Mon, 10 Jun 2013 04:39:05 +0000 (04:39 +0000)]
Bugfix [#35643] Animated textures are invisible in Graph Editor if it is not
linked via material

Textures linked to modifiers are now shown in the AnimEditor channel hierarchy
under object level now (i.e. on same level as ob-data, shapekeys, and object's
action). This makes it possible to edit such animation data without having to
ensure that these textures are also linked to the object's material so that they
will appear.

As a side-effect of how this is implemented, if playback is slower on scenes
following this commit, disable the "modifier" filter under the filtering
settings in the relevant animation editor header. In particular, it may be
beneficial to disable this when you've got scenes with meshes that have many
modifiers (but none of these have any linked data with settings which can be
animated), as Blender will still try to go through all those modifiers checking
for anything to show.

7 years agofix [#35648] Loop cut, smoothness showing wrong symmetrical
Campbell Barton [Mon, 10 Jun 2013 04:33:05 +0000 (04:33 +0000)]
fix [#35648] Loop cut, smoothness showing wrong symmetrical

this is more of a feature request then a bug, but nicer to use even smoothing offset for loopcut smoothing.

7 years agofix [#35669] Snap curvepoints dont work correct when another object is selected
Campbell Barton [Mon, 10 Jun 2013 03:56:50 +0000 (03:56 +0000)]
fix [#35669] Snap curvepoints dont work correct when another object is selected

Ctrl+Click extrude curves now supports snapping to faces as with meshes.

7 years agofix [#35670] Selectionmode LMB dont change the controlling for putting curve points...
Campbell Barton [Mon, 10 Jun 2013 02:28:19 +0000 (02:28 +0000)]
fix [#35670] Selectionmode LMB dont change the controlling for putting curve points with strg+lmb

7 years agominor edit to previous commit, only show option to reload the file if its been saved.
Campbell Barton [Mon, 10 Jun 2013 02:05:38 +0000 (02:05 +0000)]
minor edit to previous commit, only show option to reload the file if its been saved.

7 years agoPython script auto-execution changes:
Campbell Barton [Mon, 10 Jun 2013 00:42:16 +0000 (00:42 +0000)]
Python script auto-execution changes:

- script execution is off by default

- if a blend file attempts to execute a script
  this shows a message in the header with the action
  that was suppressed (script/driver/game-autostart) and 2 buttons to either reload the file trusted, or to ignore the message.

- the file selector will always default to use the trust setting in the user preferences,
  but reloading an open file will keep using the current setting (whatever was set before or set on the command-line).

- added SCons setting WITH_BF_PYTHON_SECURITY, this sets the default state for the user prefereces not to trust blend files on load.
  ... this option was in CMake before, but always off, now its enabled by default for SCons and CMake, and forced on in CMake for now.

7 years agocode cleanup: group python reset functions in BPY_python_reset()
Campbell Barton [Sun, 9 Jun 2013 23:31:53 +0000 (23:31 +0000)]
code cleanup: group python reset functions in BPY_python_reset()

7 years agofix [#35663] Some object types don't draw bounds other than "Box"
Campbell Barton [Sun, 9 Jun 2013 21:29:20 +0000 (21:29 +0000)]
fix [#35663] Some object types don't draw bounds other than "Box"

7 years agocode cleanup: use boolean for intersection functions.
Campbell Barton [Sun, 9 Jun 2013 21:25:27 +0000 (21:25 +0000)]
code cleanup: use boolean for intersection functions.

7 years agoCycles / Wavelength to RGB node:
Thomas Dinges [Sun, 9 Jun 2013 20:46:22 +0000 (20:46 +0000)]
Cycles / Wavelength to RGB node:
* Added a node to convert wavelength (in nanometer, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier.

Example render:

* Move some functions into an util file, maybe a common util_color.h or so.
* Test GPU, unfortunately sm_21 doesn't work for me yet.

7 years agoSVN merge r57315-57319 into soc-2013-dingto
Thomas Dinges [Sun, 9 Jun 2013 20:28:16 +0000 (20:28 +0000)]
SVN merge r57315-57319 into soc-2013-dingto

7 years agopatch [#35631] Active element for Lattice
Campbell Barton [Sun, 9 Jun 2013 20:28:08 +0000 (20:28 +0000)]
patch [#35631] Active element for Lattice
by Kevin Mackay (yakca)

Was one of our TODO's from the wiki.

7 years agoFix #35696: cycles crash with no world assigned to scene, after recent changes.
Brecht Van Lommel [Sun, 9 Jun 2013 18:05:53 +0000 (18:05 +0000)]
Fix #35696: cycles crash with no world assigned to scene, after recent changes.

7 years agoCode cleanup: removed some unused UI button types
Brecht Van Lommel [Sun, 9 Jun 2013 18:05:50 +0000 (18:05 +0000)]
Code cleanup: removed some unused UI button types

* CHARTAB: not needed anymore with improved copy/paste support and text input.
* IDPOIN: replaced by SEARCH_MENU.
* ICONROW/ICONTEXTROW: replaced by RNA enums.
* NUMABS: can use min/max limits instead.
* BUT_TOGDUAL, TOG3, TOGR, SLI: not used in 2.5 interface.

7 years agoFix #35665: cycles CUDA crash after recent changes. This works around a compiler
Brecht Van Lommel [Sun, 9 Jun 2013 16:37:04 +0000 (16:37 +0000)]
Fix #35665: cycles CUDA crash after recent changes. This works around a compiler
bug in CUDA 4.2 (solved in 5.5) with typedef'd function parameters.

7 years agoThis commit replaces old "manual" Editors menu with nice RNA-based one (so once again...
Bastien Montagne [Sun, 9 Jun 2013 16:18:23 +0000 (16:18 +0000)]
This commit replaces old "manual" Editors menu with nice RNA-based one (so once again, some cleanup of old UI code). It makes the following changes:

* RNA's editor types enum (space_type_items) has been re-ordered, added icons, and removed internal-only SPACE_EMPTY value, so that it matches the menu.

* Two fixes in code drawing enums as dropdown menu:
** All items were taken into account when computing the number of needed columns, now simple separators (void string items) are ignored.
** Simple separators items were drawn as labels, taking far too much space!

And now translators will be free from that ugly, insane menu-string! :P

Thanks to Brecht for the review.

7 years agoCreate soc-2013-dingto branch for shader nodes project
Brecht Van Lommel [Sun, 9 Jun 2013 15:17:03 +0000 (15:17 +0000)]
Create soc-2013-dingto branch for shader nodes project

7 years agoCycles:
Thomas Dinges [Sun, 9 Jun 2013 15:09:15 +0000 (15:09 +0000)]
* Use float_to_int() functions in a few more places.

7 years agoFix #35611: 'Quick Edit' in Texture mode + RGBA16bit gives bright results
Sergey Sharybin [Sun, 9 Jun 2013 14:20:46 +0000 (14:20 +0000)]
Fix #35611: 'Quick Edit' in Texture mode + RGBA16bit gives bright results

Was missing linearization of colro came from byte buffer.

7 years agoNLA Editor: It is now possible to add strips to AnimData blocks with no existing
Joshua Leung [Sun, 9 Jun 2013 13:13:47 +0000 (13:13 +0000)]
NLA Editor: It is now possible to add strips to AnimData blocks with no existing

As a convenience feature for those who are loading in action libraries and using
these to quickly block out things in the NLA editor, it is now possible to add
strips to AnimData blocks without first manually creating empty tracks to add
these strips to. Simply ensure that such empty AnimData blocks are selected
(Hint: click on the action line of the affected AnimData block to do so), and
try to add a strip normally.

7 years agoFix #35638: Object disappears when rotating after using the simplify brush
Sergey Sharybin [Sun, 9 Jun 2013 12:53:17 +0000 (12:53 +0000)]
Fix #35638: Object disappears when rotating after using the simplify brush

7 years agojpbouza Feature Request: Transformation Constraint now allows applies rotation
Joshua Leung [Sun, 9 Jun 2013 12:30:13 +0000 (12:30 +0000)]
jpbouza Feature Request: Transformation Constraint now allows applies rotation
offsets too (like for location)

This is useful in some cases when Copy Rotation constraints would otherwise be
used for this purpose but cannot be used for various reasons. Basically, this
works in practically the same way that the Copy Rotation offsets work, including
the same weirdness that you'll get when trying to manually rotate these in the
3D viewport using "global" space manipulations ("local/normal" spaces though
still seem to work really nicely).

WARNING: this may potentially break old files with transform constraint setups
involving rotation outputs. Please check whether this causes any problems on old
files, and report back if there are any issues.

7 years agoBugfix [#35686] Grease pencil to curve conversion causes NAN weights on vertices
Joshua Leung [Sun, 9 Jun 2013 12:05:29 +0000 (12:05 +0000)]
Bugfix [#35686] Grease pencil to curve conversion causes NAN weights on vertices

When you convert a grease pencil stroke to a polygon curve and look at the
vertices, the first and last vertex have weight = 0, but all others have a -NaN
value. This was caused by division by zero issues when minmax_weights[0] ==

7 years agoFix related to #35681: avoid some unnecessary cycles updated when using exclude
Brecht Van Lommel [Sun, 9 Jun 2013 11:57:51 +0000 (11:57 +0000)]
Fix related to #35681: avoid some unnecessary cycles updated when using exclude
render layers.

7 years agoFix #35677, #35525: cycles viewport not updating properly in some situations.
Brecht Van Lommel [Sun, 9 Jun 2013 11:57:50 +0000 (11:57 +0000)]
Fix #35677, #35525: cycles viewport not updating properly in some situations.

Revision 56883 broke a mechanism where cycles tags itself to be updated later
while it is busy.