Commit Graph

2794 Commits

Author SHA1 Message Date
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
Sergey Sharybin
24b0f8247f Merging r58701 through r58746 from trunk into soc-2013-depsgraph_mt 2013-07-30 19:05:29 +00:00
Mitchell Stokes
29f8dfd37a BGE: Adding vsync control. Users can enable vsync, disable vsync, or use adaptive vsync via UI options in the render properties, or by using the new Python method bge.render.setVsync(). Win32 and X11 support are done via EXT_swap_control. Support for using EXT_swap_control on OS X still needs to be added to Ghost. 2013-07-29 22:31:32 +00:00
Mitchell Stokes
2840edba84 BGE: Adding bge.physics as another alias for the PhysicsConstraints module. 2013-07-29 22:20:06 +00:00
Sergey Sharybin
51dab0e0ef Merging r58475 through r58700 from trunk into soc-2013-depsgraph_mt 2013-07-29 02:49:36 +00:00
Campbell Barton
1448499d70 patch [#36233] Fix Halo and Billboard Normal and Behavior
from Vitor Balbio (vitorbalbio)

Fixes billboard flipping (flipped normals and textures too)
2013-07-28 12:03:53 +00:00
Daniel Stokes
4f8fd8c68b BGE Fix [#18804] Shadow type faces cast onto invisible faces (non-GLSL)
Changing the RayHit method to ignore invisible faces
2013-07-25 23:42:20 +00:00
Daniel Stokes
d0f225393c BGE Fix [#29575] Object not drawn in game engine
Implementing a GetBlenderImage for KX_BlenderMaterial so that modifiers draw correctly in multitexture mode. The preexisting limitation of 1 texture per material on objects with modifiers in multitexture mode still exists.
2013-07-24 05:12:51 +00:00
Daniel Stokes
017d7b5447 BGE fix [#21488] Pumpkin in Gamekit Tutorial flips upside down
A reference was being grabbed when a copy was wanted.
2013-07-24 00:32:26 +00:00
Campbell Barton
3ff3d1bc0f replace use of strcat() where the string offset is known.
also correct bad logic with converting a textblock to 3d-text, bytes-vs-number of chars wasn't handled right.
2013-07-23 12:49:30 +00:00
Campbell Barton
fb92835819 bge: de-duplicate cleanup code for empty mesh error case 2013-07-23 10:59:29 +00:00
Mitchell Stokes
33e52d0df4 BGE: Fix for [#34398] "«illegal operator» in Expression Controller" reported by Andrey Kashlak (andreymal)
The expressions system now supports the not operator on ints and floats.
2013-07-22 22:46:17 +00:00
Sergey Sharybin
44a43ead67 Merging r58464 through r58474 from trunk into soc-2013-depsgraph_mt 2013-07-21 14:35:33 +00:00
Campbell Barton
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
Sergey Sharybin
2d7a425381 Merging r58362 through r58463 from trunk into soc-2013-depsgraph_mt 2013-07-21 08:14:59 +00:00
Daniel Stokes
ef4d599194 Changing the python error when accessing SCA_JoystickSensor.axisSingle in the wrong mode to an AttributeError instead of a TypeError as this more accurately reflects the problem. 2013-07-20 03:15:57 +00:00
Daniel Stokes
ff165fa986 Re fixing BGE bug [#36223] Strange page fault of "Game" actuator
Thanks to Campbell for helping me get a better fix put together.
2013-07-20 03:01:50 +00:00
Mitchell Stokes
efad3eb928 Add the Boost include to the right CMakeLists.txt... 2013-07-20 01:17:00 +00:00
Mitchell Stokes
81769b4f58 More build fixes for r58428. 2013-07-20 01:15:36 +00:00
Mitchell Stokes
f84563d213 SCons fix for r58428. 2013-07-20 01:09:16 +00:00
Mitchell Stokes
5645d9f720 Removing source files from source/gameengine/GamePlayer/common/SConscript that were removed in an earlier commit. This should allow SCons to build the game engine again. 2013-07-20 00:51:05 +00:00
Campbell Barton
a2a99bbc17 edit to r58425, BLI_math is available here, better not copy,paste from linearrgb_to_srgb.
also remove redundant check in AUD_FFMPEGReader::seek.
2013-07-20 00:35:41 +00:00
Thomas Dinges
e3c9fcd1bb * Compile fix for overloaded pow() function. 2013-07-20 00:21:16 +00:00
Mitchell Stokes
cf62de6c6d BGE: Partial fix for [#36151] "Distance model not carrying over to standalone" reported by Florian Schneider (drjaska).
The Blenderplayer wasn't initializing 3D audio settings from the scene settings like the embedded player was.
2013-07-19 23:31:45 +00:00
Daniel Stokes
a07ac7e644 BGE fix [#35563] Object colour setting for objects and fonts not using colour management like materials 2013-07-19 22:54:02 +00:00
Mitchell Stokes
3cd53aff09 Merging from ge_dev to trunk r58091-58422. 2013-07-19 22:37:40 +00:00
Daniel Stokes
23dccfadf0 Bge fix [#33016] Blender crashes when I start the game engine
Caused by a bit of a disconnect from the BGE mesh and BMesh.
2013-07-19 22:11:26 +00:00
Mitchell Stokes
103ef7cacb Merged changes from trunk r58324-58419. 2013-07-19 22:10:11 +00:00
Antony Riakiotakis
dda61cc82f Fix some definitions for MinGW64 2013-07-19 19:19:15 +00:00
Mitchell Stokes
eb21bdd249 Merging changes from trunk r58091-58323. 2013-07-17 01:40:26 +00:00
Mitchell Stokes
5ba2f4367d BGE: adding a fix so 2D filters work properly with side-by-side stereoscopic rendering. 2013-07-15 22:44:48 +00:00
Mitchell Stokes
efc4b08094 BGE: Fix for [#36023] "Objects of added scene are lit by lights of current scene" reported by Raf Colson (raco).
The material caching now keeps a cache per scene. Before materials from different scenes were sharing the same cache.
2013-07-15 22:35:09 +00:00
Sergey Sharybin
d44fb5bd8b Merging r58196 through r58265 from trunk into soc-2013-depsgraph_mt 2013-07-15 11:25:56 +00:00
Campbell Barton
02ba328ca8 clang/cmake - quiet warnings for external libs and reference moto as a system include. 2013-07-15 08:26:16 +00:00
Mitchell Stokes
19dee5e413 BGE: Adding animation culling. Armature objects will only have their poses updated if their children meshes have not already been culled. Regular object animations will always be updated since they are cheap. 2013-07-09 20:50:15 +00:00
Mitchell Stokes
83e9f32382 BGE: Committing patch #32422 "Debug properties for added objects" by HG1.
This patch allows debug properties from objects added to the scene at runtime to be displayed under the Debug Properties in the overhead display.
2013-07-09 20:06:36 +00:00
Mitchell Stokes
f6502a67f2 BGE cleanup: Getting rid of an unused variable warning in GPG_Canvas::Init(). 2013-07-09 01:42:13 +00:00
Mitchell Stokes
b73793f636 BGE cleanup: removing some unused code from GPC_Canvas. 2013-07-09 01:34:23 +00:00
Mitchell Stokes
60812e0260 BGE cleanup: Removing the GamePlayer/xembed folder and associated build options. This code was very old and not used. For example web player code, look at Burster. 2013-07-09 01:24:51 +00:00
Mitchell Stokes
a6d26cb665 BGE cleanup: GPC_System was an empty class, so I'm dropping it and having GPG_System inherit directly from KX_ISystem. 2013-07-09 01:18:48 +00:00
Mitchell Stokes
7b8453b164 BGE cleanup: removing various unused code and files from GamePlayer/common. 2013-07-09 01:14:52 +00:00
Mitchell Stokes
5b3106b89d BGE cleanup: removing unused banner code from GPC_Canvas. 2013-07-09 01:04:49 +00:00
Mitchell Stokes
abdb983a46 BGE cleanup: actually remove KX_PhysicsPropertiesobsolete.h from the CMakeLists.txt instead of just commenting it out. 2013-07-09 01:01:25 +00:00
Mitchell Stokes
5bcc621fbf BGE cleanup: removing an unused KX_PhysicsPropertiesobsolute.h file. 2013-07-09 00:59:57 +00:00
Sergey Sharybin
8c67e9d799 Merging r57925 through r57933 from trunk into soc-2013-depsgraph_mt 2013-07-02 19:18:10 +00:00
Campbell Barton
418011907c remove nan copyrights from code added since blender become opensource (copy paste errors), also remove BKE_script.h 2013-07-02 10:14:59 +00:00
Campbell Barton
1f091fd234 add missing gpl headers 2013-07-02 09:47:22 +00:00
Sergey Sharybin
b763876cae Made modifiers_getVirtualModifierList safe for threading
Move static variables to context filling in by this fcuntion
and owned by a callee function. This ensures no conflicts
between threads happens because of static variables used in
this function.

Also moved modifier types and virtual modifiers data to a
function called from creator. This is needed to be sure all
the information is properly initialied to the time when
threads starts to use this data.
2013-07-01 11:00:22 +00:00
Campbell Barton
d665c46a64 fix [#35884] evil bge.types.BL_Shader.setUniformMatrix3() 2013-06-27 07:49:20 +00:00
Campbell Barton
fad1da062d correct typos in comments. 2013-06-25 22:58:23 +00:00