Commit Graph

65 Commits

Author SHA1 Message Date
Dobrohotov Alexei 971ba81ed2 Use higher level transformations in UVController 2021-04-30 18:28:03 +03:00
Dobrohotov Alexei 24f4bf9c28 Fix NiUVController UV offset calculations (bug #5995) 2021-04-30 14:38:16 +03:00
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
Alexei Dobrohotov a46699fb1e Handle NiGeomMorpherController interpolator list 2020-11-10 23:23:11 +03:00
Alexei Dobrohotov f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Alexei Dobrohotov 302d8eed27 Clean up Roll- and FlipController implementation 2020-10-06 20:47:06 +03:00
AnyOldName3 b2cb98d30e Fix NiFlipController
NiFlipControllers *always* affect the base texture, even if no base
texture is bound. When no base texture is bound, they default to UV set
zero and to having wrapped UV coordinates, instead of using the settings
for the disabled base texture.
2020-09-16 23:03:42 +01:00
Capostrophic 35de34c019 Don't clamp GeomMorpherController recovered weight value
Seems that Morrowind doesn't do it.
2020-08-07 11:13:53 +03:00
Capostrophic 3d31d21bc2 Don't encapsulate NIF transformation changes
Currently that causes issues
2020-07-29 20:46:36 +03:00
Capostrophic f93655e803 Encapsulate NIF transform changes in NifOsg::MatrixTransform 2020-07-26 09:57:43 +03:00
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
bzzt lost a hitlab login 26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Capostrophic 30fc2e3e5e Add basic NiPathController support (movement only) 2020-05-13 18:01:22 +03:00
Bret Curtis 68549828b4 create static functions to set/get hidden node mask; compromise on magic numbers to make things easier to understand 2020-04-22 13:34:19 +02:00
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
Andrei Kortunov 7b5ec76db4 Fix regression in the NiVisController 2020-02-19 11:50:59 +04:00
Andrei Kortunov 84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
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