Commit Graph

96 Commits

Author SHA1 Message Date
Capostrophic 83f61d1636 Support target color in NiMaterialColorController (bug #5159) 2019-09-16 22:31:18 +03:00
Andrei Kortunov 7995a92672 Initialize missing variables 2019-03-19 09:12:31 +04:00
Andrei Kortunov 60f112d11c Add support for NiRollController (feature #4675) 2019-02-21 12:34:35 +04:00
Andrei Kortunov 7e2bda459b Check if there are textures in FlipController to avoid division by zero (bug #4614) 2018-09-02 17:36:37 +04:00
scrawl 5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
Allofich ff3e307059 Pass parameters by const reference 2017-04-20 23:47:03 +09:00
scrawl 33d27a2285 Use ref_ptr 2016-08-14 16:41:33 +02:00
scrawl 62018e802b Minor fix to particle system AutoPlay flag handling
The previous commit broke some magic effects (e.g. shield). The controller's emit start/stop times should control the emitter, while the absence of the ParticleSystem's autoplay flag should freeze the whole particle system if no valid controller source gets assigned. This revised version works for both the Shield effect and the "dagoth ur death sparkles" effect.
2016-05-14 22:55:14 +02:00
scrawl 0c08f705c5 Make the ParticleSystemController freeze the particle system instead of the emitter (Bug #3390) 2016-05-14 22:36:53 +02:00
scrawl be6ea3d607 Account for UV coordinate flip in UVController (Fixes #3203) 2016-02-11 16:22:54 +01:00
scrawl daa94cc50e Fix cppcheck warnings 2016-01-03 20:19:38 +01:00
scrawl a29aef14f1 Eliminate a dynamic_cast in ParticleSystemController 2015-12-02 14:59:32 +01:00
scrawl 695fcf41c4 Optimize ValueInterpolator / KeyframeController
Cache the current position in the animation track and attempt to reuse it in the next frame.

Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
2015-11-30 20:53:47 +01:00
scrawl 38510a56c2 GeomMorpherController: do not dirty the MorphGeometry unless necessary 2015-11-22 21:24:00 +01:00
scrawl 0d49c7fa51 GeomMorpherController: fix double update of MorphGeometry 2015-11-22 21:23:46 +01:00
scrawl 28b20428b9 Remove dynamic_cast in GeomMorpherController 2015-11-22 20:33:22 +01:00
scrawl 16b8ef3164 Don't use a shared Material in MaterialColorController 2015-07-31 00:01:55 +02:00
scrawl de479e35c8 Fix AlphaController affecting all instances of the StateSet 2015-07-30 23:51:37 +02:00
scrawl 24ae1d5ace Fix some issues found by coverity 2015-07-11 03:34:08 +02:00
scrawl bf9c62fa42 Fix for some coverity scan defects 2015-07-02 20:46:34 +02:00
scrawl 01944c33f5 Basic water rendering 2015-06-02 16:35:35 +02:00
scrawl 3dcb167066 Map rendering 2015-05-26 16:40:44 +02:00
scrawl da24e298ee Fix -Wreorder warnings 2015-05-23 22:44:00 +02:00
scrawl cd7808fc11 Cleanup in preparation for animation port
Scrapped previous idea for multiple animation sources, better approach incoming.
2015-04-22 23:16:08 +02:00
scrawl edc5cad79e Port Animation::addEffect 2015-04-19 01:57:52 +02:00
scrawl c516e897ee Move Controller base classes to SceneUtil, add visitor to assign ControllerSources 2015-04-14 17:51:46 +02:00
scrawl de2c85e0f8 Port nifloader to the more efficient StateSetController 2015-04-14 16:41:06 +02:00
scrawl a0b43f426e Avoid setting DYNAMIC DataVariance on StateSets 2015-04-11 23:01:37 +02:00
scrawl e5e1013c51 TextKeys attached to root node as user data, add .kf loading to scenemanager 2015-04-02 17:34:44 +02:00
scrawl 31adaf2495 Use simulationTime instead of referenceTime 2015-04-02 17:32:52 +02:00
scrawl 173887c2d9 AlphaController copy fix 2015-03-28 21:19:16 +01:00
scrawl bb32c761df *very* early texture manager, need a lot more thought to design this properly 2015-03-28 02:27:59 +01:00
scrawl e938fa4a9d Implement extrapolation mode in ControllerFunction (Bug #1871) 2015-03-25 18:12:43 +01:00
scrawl c179977f20 Fix quaternion rotation order 2015-03-25 01:58:41 +01:00
scrawl 20866b44f7 FlipController fix, DetailTexture & DarkTexture tested 2015-03-25 00:55:09 +01:00
scrawl 6219a7bbfc Add .kf loader 2015-03-23 01:31:16 +01:00
scrawl 9242e6d256 Avoid copying keyframes in controller instances 2015-03-22 23:47:49 +01:00
scrawl 2db5df77f0 Change rotation/scale workaround in preparation for loading .kf controllers 2015-03-22 22:55:35 +01:00
scrawl d486cde330 Fix broken VisControllers 2015-03-20 21:32:26 +01:00
scrawl 4957ceeb1d Refactor controllers, now part of the scene graph as UpdateCallbacks
Practical benefits:
- The controller update is now run automatically
- Creating an instance of a scene graph should now work properly using the defined copy constructors
2015-03-20 19:51:54 +01:00
scrawl ab3c28eb96 Use template function for interpolation 2015-03-19 17:00:16 +01:00
scrawl f8422c3ed4 Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController 2015-03-19 03:01:11 +01:00
scrawl 2a92fb57f7 Add FlipController 2015-02-24 00:02:10 +01:00
scrawl c54ee16748 Add AlphaController and MaterialColorController 2015-02-23 21:55:32 +01:00
scrawl 3839d6f777 Simplify controller classes 2015-02-23 21:55:32 +01:00
scrawl 8e01d8cb19 Add OSG nifloader, currently supports geometry, materials, basic texturing, skinning, morphing, and most controllers. 2015-02-23 21:06:10 +01:00