8 years agoMerged revision(s) 59108-59184 from trunk/blender into soc-2013-dingto.
Thomas Dinges [Fri, 16 Aug 2013 12:50:13 +0000 (12:50 +0000)]
Merged revision(s) 59108-59184 from trunk/blender into soc-2013-dingto.

8 years ago* Compile fix, so disabling libmw works again.
Thomas Dinges [Fri, 16 Aug 2013 12:43:37 +0000 (12:43 +0000)]
* Compile fix, so disabling libmw works again.

8 years agoCycles / Motion Blur:
Thomas Dinges [Fri, 16 Aug 2013 12:18:01 +0000 (12:18 +0000)]
Cycles / Motion Blur:
* Added a new panel "Settings" to the object tab.
* Motion blur can now be enabled/disabled on a per object basis, so we can disable motion blur for certain objects.
* Also added some code for the Motion Multiplier, to weaken/strengthen the motion effect per object, but that is still disabled and hidden from the UI.

8 years agoMake byte-float conversion threaded in compositor
Sergey Sharybin [Fri, 16 Aug 2013 10:01:09 +0000 (10:01 +0000)]
Make byte-float conversion threaded in compositor

In fact, there's no need to get float buffer at all,
conversion could be done in pixel processor level
after interpolation.

It might give slightly worse interpolation results
(which i'm not sure would be visible by eye) but
it gives more than 2x speedup on my laptop on node
setups used for warping image.

svn merge -r58988:58989 ^/branches/soc-2011-tomato

8 years agoRemove unused and unfinished py bindings
Sergey Sharybin [Fri, 16 Aug 2013 09:46:34 +0000 (09:46 +0000)]
Remove unused and unfinished py bindings

8 years agoMerge plane track feature from tomato branch
Sergey Sharybin [Fri, 16 Aug 2013 09:46:30 +0000 (09:46 +0000)]
Merge plane track feature from tomato branch

This commit includes all the changes made for plane tracker
in tomato branch.

Movie clip editor changes:

- Artist might create a plane track out of multiple point
  tracks which belongs to the same track (minimum amount of
  point tracks is 4, maximum is not actually limited).

  When new plane track is added, it's getting "tracked"
  across all point tracks, which makes it stick to the same
  plane point tracks belong to.

- After plane track was added, it need to be manually adjusted
  in a way it covers feature one might to mask/replace.

  General transform tools (G, R, S) or sliding corners with
  a mouse could be sued for this. Plane corner which
  corresponds to left bottom image corner has got X/Y axis
  on it (red is for X axis, green for Y).

- Re-adjusting plane corners makes plane to be "re-tracked"
  for the frames sequence between current frame and next
  and previous keyframes.

- Kayframes might be removed from the plane, using Shit-X
  (Marker Delete) operator. However, currently manual
  re-adjustment or "re-track" trigger is needed.

Compositor changes:

- Added new node called Plane Track Deform.

- User selects which plane track to use (for this he need
  to select movie clip datablock, object and track names).

- Node gets an image input, which need to be warped into
  the plane.

- Node outputs:
  * Input image warped into the plane.
  * Plane, rasterized to a mask.

Masking changes:

- Mask points might be parented to a plane track, which
  makes this point deforming in a way as if it belongs
  to the tracked plane.

Some video tutorials are available:
- Coder video:
- Artist video:

This is mine and Keir's holiday code project :)

8 years agoAdd Procrustes PNP ("PPnP") resection algorithm to libmv
Sergey Sharybin [Fri, 16 Aug 2013 08:26:34 +0000 (08:26 +0000)]
Add Procrustes PNP ("PPnP") resection algorithm to libmv

This adds a new Euclidean resection method, used to create the
initial reconstruction in the motion tracker, to libmv. The method
is based on the Procrustes PNP algorithm (aka "PPnP"). Currently
the algorithm is not connected with the motion tracker, but it
will be eventually since it supports initialization.

Having an initial guess when doing resection is important for
ambiguous cases where potentially the user could offer extra
guidance to the solver, in the form of "this point is in front of
that point".

svn merge -r58821:58822 ^/branches/soc-2011-tomato

8 years agoadd support for mempool/linklist functions.
Campbell Barton [Fri, 16 Aug 2013 05:50:00 +0000 (05:50 +0000)]
add support for mempool/linklist functions.

8 years agoCompilation error fix when using scons
Sergey Sharybin [Thu, 15 Aug 2013 12:05:42 +0000 (12:05 +0000)]
Compilation error fix when using scons

OpenEXR libraries shall go after OpenImageIO,
otherwise it'll fail to find symbols needed
for OIIO.

8 years ago== filebrowser ==
Andrea Weikert [Thu, 15 Aug 2013 10:14:41 +0000 (10:14 +0000)]
== filebrowser ==
* FIX: selecting bookmark or recent file caused UNDO push, also caused issue with the 'Open' and 'Cancel' buttons being grayed out.

Reported by Sergey Sharybin in IRC, many thanks.

8 years agoFix #36384: Inconsistent curve fill behaviour
Sergey Sharybin [Thu, 15 Aug 2013 07:59:32 +0000 (07:59 +0000)]
Fix #36384: Inconsistent curve fill behaviour

Creating new splines via Python API didn't take
curve dimension into account.

Now adding new splines will set 2D/3D flag for
spline according to curve's dimension.

8 years agoBlender might be compiled without guardedalloc again
Sergey Sharybin [Thu, 15 Aug 2013 07:36:56 +0000 (07:36 +0000)]
Blender might be compiled without guardedalloc again

This is useful for benchmark tests, to make CPU cache
utilization as good as we could with current design.

8 years agofix [#36455] importing obj data after saving doesn't work
Campbell Barton [Thu, 15 Aug 2013 00:32:12 +0000 (00:32 +0000)]
fix [#36455] importing obj data after saving doesn't work

8 years agoBGE: The Action Actuator can now make use of additive blending.
Mitchell Stokes [Wed, 14 Aug 2013 23:32:00 +0000 (23:32 +0000)]
BGE: The Action Actuator can now make use of additive blending.

8 years agoBGE: Finally adding support for additive layer blending.
Mitchell Stokes [Wed, 14 Aug 2013 23:31:49 +0000 (23:31 +0000)]
BGE: Finally adding support for additive layer blending.

Currently this is only for the Python API. The logic brick will be updated in a future commit.

8 years agoAdding a new state for sound handles in audaspace: stopped.
Joerg Mueller [Wed, 14 Aug 2013 21:21:00 +0000 (21:21 +0000)]
Adding a new state for sound handles in audaspace: stopped.

Now sounds that stopped playing but are still kept in the device can be differentiated from paused sounds with this state.
This should also fix the performance issues mentioned in [#36466] End of SequencerEntrys not set correctly.
Please test if sound pausing, resuming and stopping works fine in the BGE and sequencer, my tests all worked fine, but there might be a use case that needs some fixing.

8 years agoFix #36467: ends of curves - 2D differs to 3D
Sergey Sharybin [Wed, 14 Aug 2013 19:45:35 +0000 (19:45 +0000)]
Fix #36467: ends of curves - 2D differs to 3D

This is getting confused, why bevel is handled different
for 2D and 3D curves?

Anyway, made bevel work for 2D case nice again, but it's
probably nice to unify 2D and 3D cases.

8 years agoCycles:
Thomas Dinges [Wed, 14 Aug 2013 19:38:14 +0000 (19:38 +0000)]
* Remove an unneeded return in shader_bsdf_eval(), function is void.
* if / else if tweak in shader_bsdf_ao().

8 years agofix [#36349] Separate mesh by material creates meshes with all the materials from...
Campbell Barton [Wed, 14 Aug 2013 14:36:43 +0000 (14:36 +0000)]
fix [#36349] Separate mesh by material creates meshes with all the materials from the original

8 years agoadd materials.clear() method, matching other python list method.
Campbell Barton [Wed, 14 Aug 2013 11:29:58 +0000 (11:29 +0000)]
add materials.clear() method, matching other python list method.

8 years agoquiet compiler warnings.
Campbell Barton [Wed, 14 Aug 2013 11:29:22 +0000 (11:29 +0000)]
quiet compiler warnings.

8 years agoFix double-free happening when having proxy with motion paths
Sergey Sharybin [Wed, 14 Aug 2013 10:39:16 +0000 (10:39 +0000)]
Fix double-free happening when having proxy with motion paths

Make it so mpath is not shared between several bones now.

Fix suggested by Joshua Leung, thanks!

8 years agofix bug with editmesh rip, active edge could be left on the unselected side of the...
Campbell Barton [Wed, 14 Aug 2013 09:14:33 +0000 (09:14 +0000)]
fix bug with editmesh rip, active edge could be left on the unselected side of the edge loops.

8 years agobmesh utility functions for storing an editselection after another in the list.
Campbell Barton [Wed, 14 Aug 2013 09:13:11 +0000 (09:13 +0000)]
bmesh utility functions for storing an editselection after another in the list.

8 years agofix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
Campbell Barton [Wed, 14 Aug 2013 08:14:50 +0000 (08:14 +0000)]
fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
also remove unused transform defines.

8 years agoinclude order change for osl, fixes gcc compile error - undefined uintptr_t
Campbell Barton [Wed, 14 Aug 2013 06:51:18 +0000 (06:51 +0000)]
include order change for osl, fixes gcc compile error - undefined uintptr_t

8 years agoFix for uninitialized covariance matrix
Sergey Sharybin [Wed, 14 Aug 2013 05:30:35 +0000 (05:30 +0000)]
Fix for uninitialized covariance matrix

This is likely a culptrit caused #36231: Motion tracker bug in 2.68

8 years agoBGE Dome: bugfix - Warp Mesh not working
Dalai Felinto [Wed, 14 Aug 2013 02:59:09 +0000 (02:59 +0000)]
BGE Dome: bugfix - Warp Mesh not working

Fix: to swap the drawing order for the warp mesh polygon
The code was drawing CW instead of CCW.

It would work in some cases where the drawing flags would allow for the
back faces to be visible.

More specifically the alternative fix were:
glDisable ( GL_CULL_FACE );
glFrontFace( GL_CW );

Bug originally reported in the small_planetarium mailing list.
This bug fix was a comissioned job by a group who prefer not to be
credited. Thanks regardless.

8 years agobmesh edge-net: refactor out face creation into its own function, replace array reall...
Campbell Barton [Tue, 13 Aug 2013 23:48:48 +0000 (23:48 +0000)]
bmesh edge-net: refactor out face creation into its own function, replace array reallocation with alloca.
fix for error increasing the face tag count when the face might not be created.

8 years agoutility functions to reverse and wrap arrays.
Campbell Barton [Tue, 13 Aug 2013 23:43:44 +0000 (23:43 +0000)]
utility functions to reverse and wrap arrays.

8 years agobmo_edgenet_fill_exec was building a vertex array when it didnt need to. also simplif...
Campbell Barton [Tue, 13 Aug 2013 22:28:16 +0000 (22:28 +0000)]
bmo_edgenet_fill_exec was building a vertex array when it didnt need to. also simplify for loops.

8 years agoTypo (dimention instead of dimension).
Bastien Montagne [Tue, 13 Aug 2013 18:35:39 +0000 (18:35 +0000)]
Typo (dimention instead of dimension).

8 years agoFix #36461: ends of curves - twist still not good
Sergey Sharybin [Tue, 13 Aug 2013 15:27:49 +0000 (15:27 +0000)]
Fix #36461: ends of curves - twist still not good

Needed correct quat for first point as well.

Maybe it's time to refactor make_minimum_twist function a bit..

8 years agoFix crash happening when clearing parent in outliner modes which doesn't support...
Sergey Sharybin [Tue, 13 Aug 2013 14:46:39 +0000 (14:46 +0000)]
Fix crash happening when clearing parent in outliner modes which doesn't support this.

8 years agouse __builtin_nanf with gcc and clang.
Campbell Barton [Tue, 13 Aug 2013 10:40:23 +0000 (10:40 +0000)]
use __builtin_nanf with gcc and clang.

8 years agomake materials.pop() and more like pythons list.pop
Campbell Barton [Tue, 13 Aug 2013 10:21:11 +0000 (10:21 +0000)]
make materials.pop() and more like pythons list.pop
- allow negative index values.
- error when invalid index value are passed in.
- remove last item if no index argument is given.

also change behavior to remove the material slot, it was only clearning by default but the list length remained the same.

8 years agoMoved NAN_FLT define to BLI_math, this may come in useful.
Lukas Toenne [Tue, 13 Aug 2013 10:09:27 +0000 (10:09 +0000)]
Moved NAN_FLT define to BLI_math, this may come in useful.

8 years agoMerged revision(s) 59035-59107 from trunk/blender into soc-2013-dingto.
Thomas Dinges [Tue, 13 Aug 2013 09:15:03 +0000 (09:15 +0000)]
Merged revision(s) 59035-59107 from trunk/blender into soc-2013-dingto.

Skipping 59034 (Non-Progressive on GPU).

8 years agoCode cleanup:
Thomas Dinges [Tue, 13 Aug 2013 08:43:31 +0000 (08:43 +0000)]
Code cleanup:
* Some typo fixes.

8 years agoBGE: Updating the bge.logic.expandPath() documentation to better reflect its current...
Mitchell Stokes [Tue, 13 Aug 2013 07:48:07 +0000 (07:48 +0000)]
BGE: Updating the bge.logic.expandPath() documentation to better reflect its current behavior.

8 years agoadd support for loading 8bit BMP images
Campbell Barton [Tue, 13 Aug 2013 07:18:07 +0000 (07:18 +0000)]
add support for loading 8bit BMP images

8 years agoFix #36451, Particle system crashes blender. The psys_render_restore function was...
Lukas Toenne [Tue, 13 Aug 2013 06:21:39 +0000 (06:21 +0000)]
Fix #36451, Particle system crashes blender. The psys_render_restore function was accessing the psys->frand random number array, but since the particle modifier is disabled this array does not get
initialized. Added a sanity check to skip disabled particle systems in BI render. (why wasn't this done before?)

8 years agochange VIEW3D_OT_camera_to_view_selected poll function so it can be called from a...
Campbell Barton [Tue, 13 Aug 2013 04:35:14 +0000 (04:35 +0000)]
change VIEW3D_OT_camera_to_view_selected poll function so it can be called from a script (without a view3d).

8 years agoBGE: Adding a GPU Latency profile category to represent the CPU time spent waiting...
Mitchell Stokes [Tue, 13 Aug 2013 03:09:58 +0000 (03:09 +0000)]
BGE: Adding a GPU Latency profile category to represent the CPU time spent waiting on the graphics card.

8 years agofix for bug in rip tool, isolated verts would remain selected after ripping.
Campbell Barton [Tue, 13 Aug 2013 01:52:36 +0000 (01:52 +0000)]
fix for bug in rip tool, isolated verts would remain selected after ripping.

8 years agofix own regression, rip tool wasn't handling selection.
Campbell Barton [Tue, 13 Aug 2013 01:00:07 +0000 (01:00 +0000)]
fix own regression, rip tool wasn't handling selection.

8 years agoswitch arg order for BM_elem_select_copy(), would like to make this constant for...
Campbell Barton [Tue, 13 Aug 2013 00:35:23 +0000 (00:35 +0000)]
switch arg order for BM_elem_select_copy(), would like to make this constant for all bmesh functions eventually.

8 years agobmesh: simplify mode check for setting the edge selection
Campbell Barton [Tue, 13 Aug 2013 00:17:39 +0000 (00:17 +0000)]
bmesh: simplify mode check for setting the edge selection

8 years agobmesh_vert_separate: remove unused return value
Campbell Barton [Mon, 12 Aug 2013 23:49:56 +0000 (23:49 +0000)]
bmesh_vert_separate: remove unused return value

8 years agobmesh_edge_separate: avoid counting radial loops when splitting edges, we only need...
Campbell Barton [Mon, 12 Aug 2013 22:36:46 +0000 (22:36 +0000)]
bmesh_edge_separate: avoid counting radial loops when splitting edges, we only need to check if the edge is boundary or not. will speedup edgesplit modifier a little.

8 years agoFix [#36439] Switching windows on Win7 x64 under certain outliner conditions will...
Sv. Lockal [Mon, 12 Aug 2013 17:05:02 +0000 (17:05 +0000)]
Fix [#36439] Switching windows on Win7 x64 under certain outliner conditions will cause crash

8 years agoFollowup for r58992, fixing user decrement error
Sergey Sharybin [Mon, 12 Aug 2013 13:52:13 +0000 (13:52 +0000)]
Followup for r58992, fixing user decrement error

Some places like proxy rebuild didn't increent
custom shape user counter which lead to user
decrement errors later when freeing pose channels.

Try to keep custom object counter relevent, but
some corner cases might still be missing.

8 years agoGPL V3 license, which will be valid for the binary releases.
Ton Roosendaal [Mon, 12 Aug 2013 12:31:51 +0000 (12:31 +0000)]
GPL V3 license, which will be valid for the binary releases.
(Because Blender links with the Apache2 license).

Cleanup of this directory will happen before official release.

8 years agoAdd jemalloc license to release/text
Sergey Sharybin [Mon, 12 Aug 2013 12:17:54 +0000 (12:17 +0000)]
Add jemalloc license to release/text

Official linux builds are linking against jemalloc,
and in the own branch i'm using some of it's code.

License files location could be changed a bit later
(i.e. make it so all the license files are in the
single folder, not in the root of the blender distro).

8 years agoFix #36420: ends of curves - caps & twist not good
Sergey Sharybin [Mon, 12 Aug 2013 09:00:48 +0000 (09:00 +0000)]
Fix #36420: ends of curves - caps & twist not good

Forgot to calculate directions of first/last points
for NURBS and POLY splines.

8 years agoimage_load() utility function's 'recursive' option wasn't functional since 2.4x
Campbell Barton [Mon, 12 Aug 2013 07:48:31 +0000 (07:48 +0000)]
image_load() utility function's 'recursive' option wasn't functional since 2.4x

8 years agoFix #36408: Setting `` changes saved alpha
Sergey Sharybin [Mon, 12 Aug 2013 07:47:44 +0000 (07:47 +0000)]
Fix #36408: Setting `` changes saved alpha

Issue was caused by reload caused by input colorspace change.

For generated images generated alpha flags weren't saved to
DNA, which lead to fallback from 32 bit depth to 24 when
doing any kind reload of generated image.

The same alpha loss happens when you save .blend file with
generated images.

Now added generated depth to DNA, so reload image and .blend
file wouldn't loss alpha.

8 years agobpy.path.reduce_dirs() - new utility function to de-duplicate and remove nested paths...
Campbell Barton [Mon, 12 Aug 2013 07:44:38 +0000 (07:44 +0000)]
bpy.path.reduce_dirs() - new utility function to de-duplicate and remove nested paths before doing a recursive search.

8 years agoFix #36437 Cycles no longer rendering Emitter object (Particle Systems). The change...
Lukas Toenne [Mon, 12 Aug 2013 06:53:17 +0000 (06:53 +0000)]
Fix #36437 Cycles no longer rendering Emitter object (Particle Systems). The change r58999 was ignoring the "show_emitter" setting by particles (the result would be the same as long as hair was not
used). If particle emitters are forced to show all other of the usual duplicator hiding should be disabled.

8 years agochange to object-smooth poll function, no need to check for active object, just check...
Campbell Barton [Mon, 12 Aug 2013 06:10:29 +0000 (06:10 +0000)]
change to object-smooth poll function, no need to check for active object, just check we're not in editmode.

8 years agoCode cleanup / Cycles:
Thomas Dinges [Sun, 11 Aug 2013 16:55:24 +0000 (16:55 +0000)]
Code cleanup / Cycles:
* Remove unused "PathThroughput" variable.
* Don't compile unused voronoi code, we only use Distance Squared atm.
* Various typo and comment fixes.

8 years agoFix RNA parameter passing issue with dynamic arrays, was computing the wrong
Brecht Van Lommel [Sun, 11 Aug 2013 15:49:27 +0000 (15:49 +0000)]
Fix RNA parameter passing issue with dynamic arrays, was computing the wrong
size in some cases.

8 years agoCode cleanup / Cycles:
Thomas Dinges [Sun, 11 Aug 2013 15:27:04 +0000 (15:27 +0000)]
Code cleanup / Cycles:
* Rename "curve_kernel_data" to just "curve", to avoid redundant naming.

8 years agodisplay an error with python driver expressions when script execution is disabled.
Campbell Barton [Sun, 11 Aug 2013 08:29:56 +0000 (08:29 +0000)]
display an error with python driver expressions when script execution is disabled.

8 years agouse 'greater/less then or equal to' operators rather then adding 1.
Campbell Barton [Sun, 11 Aug 2013 05:40:35 +0000 (05:40 +0000)]
use 'greater/less then or equal to' operators rather then adding 1.

8 years agoremove unused auto-key struct-member from uiAfterFunc, add compiler defines to cppche...
Campbell Barton [Sat, 10 Aug 2013 23:27:42 +0000 (23:27 +0000)]
remove unused auto-key struct-member from uiAfterFunc, add compiler defines to cppcheck utility script.

8 years agoedge-split now leaves split edges selected
Campbell Barton [Sat, 10 Aug 2013 23:22:35 +0000 (23:22 +0000)]
edge-split now leaves split edges selected

8 years agoBGE: Fixing the memory leaks reported when the BlenderPlayer exits.
Mitchell Stokes [Sat, 10 Aug 2013 21:17:46 +0000 (21:17 +0000)]
BGE: Fixing the memory leaks reported when the BlenderPlayer exits.

They were caused by not having a free_windowmanager_cb set and by not having registered SpaceTypes, which meant data allocated for thosse SpaceTypes could not be freed. These were solved by defining a free_windowmanager_cb for the player that just frees wmWindows, and by making sure we only allocate memory for registered SpaceTypes.

8 years agoAdd better UI for "Add Torus" function
Sv. Lockal [Sat, 10 Aug 2013 15:37:24 +0000 (15:37 +0000)]
Add better UI for "Add Torus" function

The previous one did nothing in many cases and was very unintuitive:

8 years agoLinux install_deps: update OpenCOLLADA to 828b60384552b83e55d2af7055f07d2c40b4d3f4...
Bastien Montagne [Sat, 10 Aug 2013 11:06:46 +0000 (11:06 +0000)]
Linux install_deps: update OpenCOLLADA to 828b60384552b83e55d2af7055f07d2c40b4d3f4 repo UID.

8 years agoAs requested by Mitchell Stokes, reverting r58837 as it is causing some problems...
Daniel Stokes [Sat, 10 Aug 2013 01:29:23 +0000 (01:29 +0000)]
As requested by Mitchell Stokes, reverting r58837 as it is causing some problems with the embedded game engine's python execution.

8 years agoCode cleanup / Cycles:
Thomas Dinges [Sat, 10 Aug 2013 00:52:57 +0000 (00:52 +0000)]
Code cleanup / Cycles:
* Remove code for the unused Wave texture variations.

We have quite some unused code in the texture area, I guess it doesn't harm to clean a bit up here.
We can always get the code back from SVN if we need something.

8 years agoCycles:
Thomas Dinges [Fri, 9 Aug 2013 20:03:49 +0000 (20:03 +0000)]
* GPU kernel can now be compiled without __NON_PROGRESSIVE__ again, was broken after my last commit. Also add a check for have_error(), in case the GPU kernel comes without Non-Progressive, to avoid a crash.

* Don't compile progressive kernel twice on CPU, if __NON_PROGRESSIVE__ would be disabled there.

8 years agoFix cycles not rendering with 1x1 resolution anymore, not so common for users
Brecht Van Lommel [Fri, 9 Aug 2013 19:55:46 +0000 (19:55 +0000)]
Fix cycles not rendering with 1x1 resolution anymore, not so common for users
but nice for debugging.

8 years agoFix cycles passes UI panel to line up better.
Brecht Van Lommel [Fri, 9 Aug 2013 19:55:45 +0000 (19:55 +0000)]
Fix cycles passes UI panel to line up better.

8 years agoOpenGL VBO's: free VBO pool before redraw, otherwise this just holds onto memory
Brecht Van Lommel [Fri, 9 Aug 2013 19:55:43 +0000 (19:55 +0000)]
OpenGL VBO's: free VBO pool before redraw, otherwise this just holds onto memory
after objects are deleted until another big object is added. There's no good reason
to do this, or to think that our pool is somehow much faster than using the OpenGL
API to allocate and free buffers.

8 years agoCycles / Non-Progressive integrator:
Thomas Dinges [Fri, 9 Aug 2013 18:47:25 +0000 (18:47 +0000)]
Cycles / Non-Progressive integrator:
* Non-Progressive integrator is now available on the GPU (CUDA, sm_20 and above).

Implementation details:
* kernel_path_trace() has been split up into two functions:
kernel_path_trace_non_progressive() and kernel_path_trace_progressive().

* We compile two CUDA kernel entry functions (in for the two integrators, they are still inside one .cubin file but due to the kernel separation there should be no performance problem. I tested with the BMW file on my Geforce 540M and the render times were the same for 100 samples (1.57 min in my case).

This is part of my GSoC project, SVN merge of r59032 + manual merge of UI changes for this from my branch.

8 years agoMerged revision(s) 58994-59032 from trunk/blender into soc-2013-dingto.
Thomas Dinges [Fri, 9 Aug 2013 17:30:21 +0000 (17:30 +0000)]
Merged revision(s) 58994-59032 from trunk/blender into soc-2013-dingto.

8 years agoCycles / Non-Progressive integrator:
Thomas Dinges [Fri, 9 Aug 2013 17:23:54 +0000 (17:23 +0000)]
Cycles / Non-Progressive integrator:
* Code refactor to split the GPU kernel into two, one for each integrator.
This way we can enable Non-Progressive integrator on GPU in trunk without a performance drop.

Thanks to Brecht for some help and review!

8 years agoFix #36146, Cycles SSS Shader Node - Scale Value Input Box - to sensitive. Changed...
Lukas Toenne [Fri, 9 Aug 2013 11:41:01 +0000 (11:41 +0000)]
Fix #36146, Cycles SSS Shader Node - Scale Value Input Box - to sensitive. Changed the ui limit from 1,000,000 to 1,000. Not sure if such huge values are needed in some cases, but they can always be
entered explicitly, bypassing the ui limit.

NOTE: this only applies to newly added nodes. For legacy reasons the limit values are stored directly in each socket, so changing them for existing nodes would require a do_versions, seems unnecessary
for such a minor change.

8 years agoFix #36417: vertex weight mix modifier crash with texture mask and subsurf modifier
Brecht Van Lommel [Thu, 8 Aug 2013 20:35:19 +0000 (20:35 +0000)]
Fix #36417: vertex weight mix modifier crash with texture mask and subsurf modifier
preceding it, was writing past end of array.

8 years agoFix #36298 and #36359: timeline no longer did redraw during animation render.
Brecht Van Lommel [Thu, 8 Aug 2013 19:04:28 +0000 (19:04 +0000)]
Fix #36298 and #36359: timeline no longer did redraw during animation render.

This got broken in 58217, but before that it only worked by accident because
of a missing break statement in a switch.

8 years agoFix #36274: empty particle texture slots should not have any influence, same
Brecht Van Lommel [Thu, 8 Aug 2013 18:12:07 +0000 (18:12 +0000)]
Fix #36274: empty particle texture slots should not have any influence, same
as for materials, world, lamps, etc.

8 years agoFix incorrect display of constraint names on retina / high DPI.
Brecht Van Lommel [Thu, 8 Aug 2013 17:36:19 +0000 (17:36 +0000)]
Fix incorrect display of constraint names on retina / high DPI.

8 years agoFix #36317: keyframing metaball elements did not work yet, now you can keyframe
Brecht Van Lommel [Thu, 8 Aug 2013 17:22:49 +0000 (17:22 +0000)]
Fix #36317: keyframing metaball elements did not work yet, now you can keyframe
properties like stiffness.

8 years agoFix #36243: one screen should never be used by multiple windows, but this could
Brecht Van Lommel [Thu, 8 Aug 2013 17:05:09 +0000 (17:05 +0000)]
Fix #36243: one screen should never be used by multiple windows, but this could
happen when a screen was maximized to a single editor, now that case is disabled

8 years agoFix #36394: rendering a point density texture with a hair particle system did
Brecht Van Lommel [Thu, 8 Aug 2013 15:36:03 +0000 (15:36 +0000)]
Fix #36394: rendering a point density texture with a hair particle system did
not work correct, the positions would change over time and child particles did
not render.

8 years agoLinking Brushes did not link the mask texture properly
Antony Riakiotakis [Thu, 8 Aug 2013 09:45:59 +0000 (09:45 +0000)]
Linking Brushes did not link the mask texture properly

8 years agopass compiler defines such as __FLT_MIN__ to smatch and sparse (they fail without...
Campbell Barton [Thu, 8 Aug 2013 01:53:02 +0000 (01:53 +0000)]
pass compiler defines such as __FLT_MIN__ to smatch and sparse (they fail without them).

8 years agodisable cycles when building without python, also use const for function args in...
Campbell Barton [Wed, 7 Aug 2013 22:40:03 +0000 (22:40 +0000)]
disable cycles when building without python, also use const for function args in more places.

8 years agoFix for a formatting error in the docstring of SVertex.viewvertex().
Tamito Kajiyama [Wed, 7 Aug 2013 21:49:11 +0000 (21:49 +0000)]
Fix for a formatting error in the docstring of SVertex.viewvertex().

8 years agoFix for docstrings of CurvePoint.first_svertex() and CurvePoint.second_svertex().
Tamito Kajiyama [Wed, 7 Aug 2013 21:40:59 +0000 (21:40 +0000)]
Fix for docstrings of CurvePoint.first_svertex() and CurvePoint.second_svertex().

8 years agoFix #36383: add object to group check for dependency cycles did not work correctly
Brecht Van Lommel [Wed, 7 Aug 2013 20:16:36 +0000 (20:16 +0000)]
Fix #36383: add object to group check for dependency cycles did not work correctly
when the group contained two objects duplicating the same group. Also added the
dependency check to the "add to active group" operator now for consistency.

8 years agoFix crashes that could still happen opening files with the outliner bug that existed
Brecht Van Lommel [Wed, 7 Aug 2013 19:29:15 +0000 (19:29 +0000)]
Fix crashes that could still happen opening files with the outliner bug that existed
between revision 58855 and 58959. Now it ensures the memory is not freed before reading.

8 years agoFix #36355: cycles render of objects with both duplis and hair would not render
Brecht Van Lommel [Wed, 7 Aug 2013 19:02:15 +0000 (19:02 +0000)]
Fix #36355: cycles render of objects with both duplis and hair would not render
the hair in some cases.

8 years agoFix #36007: ends of curves do not fit
Sergey Sharybin [Wed, 7 Aug 2013 18:22:15 +0000 (18:22 +0000)]
Fix #36007: ends of curves do not fit

Made first/last tessellated curve have proper
direction and tilt. Before direction/tilt
from second/previous to last tessellated curve

Thanks Brecht for review and tests!

8 years agoAnother preview fix for SplitViewer node
Sv. Lockal [Wed, 7 Aug 2013 18:01:25 +0000 (18:01 +0000)]
Another preview fix for SplitViewer node

Use the same logic as in ViewerNode to update preview when backdrop is disabled.

8 years agoMerged revision(s) 58859-58993 from trunk/blender into soc-2013-dingto.
Thomas Dinges [Wed, 7 Aug 2013 16:57:18 +0000 (16:57 +0000)]
Merged revision(s) 58859-58993 from trunk/blender into soc-2013-dingto.

8 years agoFix #36373: maya and max key configurations for mesh loop select did not work correct
Brecht Van Lommel [Wed, 7 Aug 2013 15:51:57 +0000 (15:51 +0000)]
Fix #36373: maya and max key configurations for mesh loop select did not work correct
when doing an extend loop select, then doing a regular loop select, it would still

8 years agoFix #36391: removing an armature with a custom bone shape object would not
Brecht Van Lommel [Wed, 7 Aug 2013 15:23:09 +0000 (15:23 +0000)]
Fix #36391: removing an armature with a custom bone shape object would not
decrement the object user count when removing the armature. This could cause
the object to stick when it shouldn't, in particular when that object is part
of a group.