Commit Graph

52002 Commits

Author SHA1 Message Date
Mitchell Stokes 5a042eb734 BGE: Removing some unreachable and unused code in BL_ActionManager.cpp. 2013-08-03 05:01:23 +00:00
Mitchell Stokes b5016e34ed BGE: Fixing a memory leak with PyType_Ready_ADD. 2013-08-02 22:23:42 +00:00
Miika Hamalainen 9f1670cde6 Fix [#35541]: Point cache doesn't load existing frames from disk if cache file name is changed. 2013-08-02 16:39:50 +00:00
Gaia Clary ab777e957c fix(Collada): wrong usage of the set attribute with multiple UV sets 2013-08-02 15:58:11 +00:00
Thomas Dinges 35b73586da Cycles / Subsurface Render Passes:
* Code cleanup, "subs" abbreviation is not really meaningful, so let's write "subsurface" instead.
2013-08-02 14:40:21 +00:00
Campbell Barton c17f5960df correct error in own recent edits to triangle joining 2013-08-02 13:35:04 +00:00
Campbell Barton efe690a3a5 code cleanup:
- incorrect NULL check in logic UI drawing
- incorrect NULL check in octree quad test
2013-08-02 13:21:32 +00:00
Antonis Ryakiotakis 5302469834 Some versioning changes/patching of the brush system:
* Change overlay alphas to 33 if not initialized. This should have been
done for 2.67 but better do it now to avoid frustration with overly
transparent overlays. For users that have set this low manually this
will reset the setting to 33 but I think it's less irritating than users
who unwillingly had the setting to 1 and saw nothing when activating the
overlay.

* Allow overlay alpha to be zero as well

* Reset old, now obsolete BRUSH_FIXED flag for brushes that still use
this. I am doing this here to avoid patching hell when the paint brush
is merged, since it's not possible to know the merged version
beforehand, and this flag will be used.
2013-08-02 00:24:34 +00:00
Antonis Ryakiotakis 36df391b2f User request: when switching to smooth tool with shift-click in
sculpting, use the original brush size.
2013-08-01 23:07:53 +00:00
Campbell Barton 78820edafc use bmesh for loop macros for looping over mesh verts/edges/faces 2013-08-01 18:33:35 +00:00
Campbell Barton e03b1668e0 code cleanup: remove unused functions
- IsectLLPt2Df
- isect_point_quad_uv_v2
- isect_point_face_uv_v2

These are obsoleted by resolve_tri_uv, resolve_quad_uv

also add attributes for unused function results for some math functions.
2013-08-01 17:15:11 +00:00
Antonis Ryakiotakis 6fe4ec1bdc Fix a very irritating problem of our stroke system. On small brushes,
the space stroke would be repeated on unneeded subpixel precision. Since
this is not really useful, enforce spacing to be at least one pixel.
This makes small brushes quite more responsive.
2013-08-01 17:14:20 +00:00
Miika Hamalainen ceaec3c86a Fix [#36265]: Smoke doesn't work if domain object has negative scale. 2013-08-01 12:09:12 +00:00
Sergey Sharybin e34b7a62c4 Hack to workaround scene update lock caused by GIL
Couple of RNA callbacks would imply scene update routines
to trigger. This works fine for until some objects does have
drivers.

If some object does have driver, it'll try to lock GIL
when evaluating this driver, and GIL is already locked by
a python API, which causes deadlock.

For now made it so RNA callbacks doesn't do threaded update.
This is not so much nice, especially since Cycles might
use the same API for motion blur, but for now don't see
better way to solve the deadlock.
2013-08-01 03:58:22 +00:00
Sergey Sharybin cb0cb84127 Fix typo which lead to crash when applying lattice modifier 2013-07-31 22:37:54 +00:00
Sergey Sharybin 0f591cbb51 Small optimization to previous change of statistics output
Use boolean flag for detecting whether there're updated
objects instead of doing real object counter (which required
spin lock).
2013-07-31 21:56:11 +00:00
Sergey Sharybin 983137ed74 Remove annoying statistics ifdef from code
All the statistics is already inside if() block, so
it doesn't have any noticeable affect on overall
performance.
2013-07-31 21:56:06 +00:00
Sergey Sharybin a196de9a79 Made task scheduler follow command line argument number of threads 2013-07-31 21:56:00 +00:00
Sergey Sharybin f5db3dc220 Made it so threaded update statistics only prints when something was updated
This prevents infinite prints of statistics while blender is idling.
2013-07-31 21:55:54 +00:00
Sergey Sharybin 038cb9ccdb Code cleanup: get rid of unneeded thread count in statistics structure 2013-07-31 21:55:47 +00:00
Sergey Sharybin c847198a7b Use one global task scheduler for all the tasks
Instead of allocating scheduler and starting threads
on every object_update call make it so scheduler is
global and threads are always ready to run.

This was we could avoid quite hacky thing which is
counting how much objects need to be updated before
starting threaded update.

It'll also allow using the same scheduler to do all
sorts of tasks, not only objects update in the same
scheduler. This is nice from load balancing point of
view.

Couple of changes were needed to be done in task
scheduler itself:

- Free tas before sending notifier.
- Free TaskThread structures outside from thread.

This is needed to make it possible use begin/end
threaded malloc from the main thread before/after
running the pool. Without this change it was possible
that allocation will switch to non-thread mode while
thread is freeing the task.

This required storing TaskThread array in Scheduler,
but it's not so much bad actually, since it also
reduces memory overhead caused by per-thread allocation.
2013-07-31 21:55:36 +00:00
Sergey Sharybin 853f2e05c8 Optimization and threading fix for shapekeys weights calculation
This commit fixes two different issues, which were caused by
how weights are being calculated for relative shapekeys.

Weights for key block used to saved in KeyBlock DNA structure,
which lead to situations when different objects could start
writing to the same weights array if they're sharing the same
key datablock.

Solved this in a way so weights are never stored in KeyBlock
and being passed to shapekeys routines as an array of pointers.
This way weights are still computed run-time (meaning they're
calculated before shapekey evaluation and freed afterwards).

This required some changes to GameEngine as well, to make it
never cache weights in the key blocks.

Another aspect of this commit makes it so weight for a given
vertex group is only computed once. So if multiple key blocks
are using the same influence vertex group, they'll share the
same exact weights array. This gave around 1.7x speedup in
test chinchilla file which is close enough to if we've been
caching weights permanently in DNA (test machine is dual-code
4 threads laptop).

Some further speed is optimization possible, but it could be
done later as well.

Thanks Brecht for idea of how the things might be solved in
really clear way.
2013-07-31 21:55:25 +00:00
Thomas Dinges 0d9364463f Merged revision(s) 58779, 58783-58784 from trunk/blender into soc-2013-dingto. 2013-07-31 21:49:10 +00:00
Campbell Barton 7913604bda remove unused headers and NULL check 2013-07-31 21:34:25 +00:00
Thomas Dinges 2a2f0319bc Cycles / HSV Separator and Combine node:
* Added nodes to separate and combine hsv colors.

Part of my GSoC 2013 project, SVN merge of r57981.
2013-07-31 21:27:48 +00:00
Thomas Dinges 34009da32e Cycles / Vector Transform node:
* Add a note to convert a Vector, Point or Normal between World <=> Camera <=> Object coordinate space. 

Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Vector_Transform

Part of my GSoC 2013 project, SVN merge of r57599, r57670, r57918, r57919, r58245 and r58775.
2013-07-31 21:18:23 +00:00
Thomas Dinges 6d9720ef63 Cycles / Blackbody to RGB node:
* Added a node to convert a temperature in Kelvin to an RGB color. This can be used e.g. for lights, to easily find the right color temperature. 
= Some common temperatures =
Candle light: 1500 Kelvin
Sunset/Sunrise: 1850 Kelvin
Studio lamps: 3200 Kelvin
Horizon daylight: 5000 Kelvin

Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Blackbody

Thanks to Philipp Oeser (lichtwerk), who essentially contributed to this with a patch! :)

This is part of my GSoC 2013 project. SVN merge of r57424, r57487, r57507, r57525, r58253 and r58774
2013-07-31 20:56:32 +00:00
Campbell Barton 22dae3e600 fix for BLI_ghash_clear from Sv. Lockal (lockal) 2013-07-31 20:50:55 +00:00
Sergey Sharybin 86cb81abb9 Merging r58756 through r58777 from trunk into soc-2013-depsgraph_mt 2013-07-31 20:49:39 +00:00
Thomas Dinges 3840e0b234 Cycles / Ray Depth:
* Added a Ray Depth output to the Light Path node, which gives the user access to the current bounce.
This can be used to limit the maximum ray bounce on a per shader basis. Another use case is to restrict light influence with this, to have a lamp only contribute to the direct lighting. 

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Light_Path

This is part of my GSoC 2013 project. SVN merge of r58091 and r58772 from soc-2013-dingto.
2013-07-31 20:30:37 +00:00
Thomas Dinges 2a25acb108 Cycles / Vector Transform node:
* Code cleanup to avoid duplicated enum code.
* Added a third type for conversion next to Point and Vector: Normal. This is basically the same result as with the Vector type, but normalizes the vector at the end. 

Thanks to Brecht for code review!
2013-07-31 20:05:13 +00:00
Thomas Dinges a3e34e5fbc Merged revision(s) 58682-58770 from trunk/blender into soc-2013-dingto. 2013-07-31 18:14:18 +00:00
Joseph Mansfield c15ae082bb Code cleanup: libmv C API
Clean up inconsistencies in the libmv C API:
- All type identifiers are libmv_TypeName
- All function identifiers libmv_functionName
- Prefer libmv_nounVerb function names (e.g. libmv_featuresDestroy)
- Match Blender code formatting rather than Google
- Spelling corrections

Code review: https://codereview.appspot.com/11494044/
2013-07-31 13:48:12 +00:00
Lukas Toenne 81fd056d61 Fix #36267 part 2 of 2: Fix for reroute node values in old shader node stack system. They were overwriting stack values from their input nodes, because the system would not detect that these sockets
actually just point to existing defined stack values. To make the link check work, set the socket->link pointer if internal node connections exist, this works for both muted and reroute nodes.
2013-07-31 12:26:03 +00:00
Lukas Toenne 3a69398288 Fix #36267, part 1 of 2: fix for reroute node type updates. The reroute nodes change their socket type based on what they are connected to, to work as pass-through nodes with as little conversion as
necessary.

Problem was/is that the nodes can set the 'type' property, but in order to actually change the data type they would also need to update the typeinfo pointer (and idname), which is strongly discouraged.
Solution is to just replace the input/output sockets of the reroute node with new sockets of the desired type and port all links over.
2013-07-31 12:26:01 +00:00
Campbell Barton 43ab02db14 code cleanup: remove redundant NULL checks 2013-07-31 09:18:40 +00:00
Campbell Barton e129211605 add NULL checks in eyedropper_color_sample_fl since BKE_area_find_region_type may not find a region. 2013-07-31 09:17:58 +00:00
Sergey Sharybin fc598dbf38 Merging r58747 through r58755 from trunk into soc-2013-depsgraph_mt 2013-07-31 07:34:09 +00:00
Sergey Sharybin adfc77c1db Use bool instead of int. 2013-07-31 03:44:45 +00:00
Sergey Sharybin bf6ea3d717 Fix #36302: Multires baking to zero 0 was showing error but still was baking
We do not support baking to level 0, disabled this completely now.
2013-07-31 03:35:45 +00:00
Sergey Sharybin 24b0f8247f Merging r58701 through r58746 from trunk into soc-2013-depsgraph_mt 2013-07-30 19:05:29 +00:00
Sergey Sharybin 61c9c82b62 Use malloc in cases when data is getting overwriten after allocation. 2013-07-30 18:49:40 +00:00
Gaia Clary f7169cd47d fix: [#36148] Collada instance nodes are not scaled properly during import 2013-07-30 12:18:24 +00:00
Gaia Clary 5c69338fe6 apply world matrix only to armature, Bones and children get it implicit via parenting 2013-07-30 11:10:04 +00:00
Campbell Barton 76e989d7b1 function renaming for own recently added BLI_math functions, suggested by Brecht. 2013-07-30 10:58:36 +00:00
Campbell Barton 298a03ee63 fix for error in own recent changes to transform initialization, proportional editmode needs to skip hidden faces. 2013-07-30 09:50:17 +00:00
Sv. Lockal 793e17ef6c Remove superfluous iterations (caused by typo) and type casts in outliner
This significantly lowers the position of outliner_draw_tree_element in profiler
and partially fixes [#36260] (2,300 Objects Makes Blender Unresponsive)
2013-07-30 08:45:45 +00:00
Gaia Clary 90eec89125 Collada: renamed size_mat to scale_mat for clarity. removed obsolete variable definition 2013-07-30 07:32:37 +00:00
Gaia Clary 8140f56575 Collada: unit converter was not initialized for ArmatureImporter 2013-07-30 07:22:40 +00:00
Mitchell Stokes 620323a12c Missed a couple of files for the vsync commit (r58729). 2013-07-29 22:36:51 +00:00