scrawl
daa94cc50e
Fix cppcheck warnings
2016-01-03 20:19:38 +01:00
scrawl
723c392a73
NifLoader: fall back to the first UV set when encountering invalid UV set references
2015-12-17 04:05:39 +01:00
scrawl
0731595c2b
Wrap a Texture2D in a ref_ptr
2015-12-17 03:38:38 +01:00
scrawl
31c3324705
Don't assume the emitter node is a Group ( Fixes #3082 )
...
This would be a correct assumption by default, but is no longer true when the NifLoader::optimize() function optimizes the graph.
2015-12-17 03:38:26 +01:00
scrawl
64424e7262
Move keyframe loading out of SceneManager to new KeyframeManager
2015-12-13 15:31:07 +01:00
scrawl
e3d3380c8c
Remove return value for in-place toLowerStr
2015-12-07 22:43:08 +01:00
scrawl
1d5af3c9c8
Remove unneeded cast
2015-12-06 15:44:27 +01:00
scrawl
e39f49a88f
OSG extensions namespace fixes
2015-12-06 15:27:43 +01:00
scrawl
a29aef14f1
Eliminate a dynamic_cast in ParticleSystemController
2015-12-02 14:59:32 +01:00
scrawl
6cf2c35235
Don't rely on the _particles vector implementation details
...
This will allow compiling OpenMW with an osgParticle optimization to be pushed to OpenMW/osg.
2015-12-02 14:59:32 +01:00
scrawl
c9d710f334
Use a typedef to avoid conditional compiling
2015-12-01 16:18:19 +01:00
Alexander "Ace" Olofsson
cfcbd20d99
Let's put it as a MSVC-only fix for now
2015-12-01 04:19:30 +01:00
Alexander "Ace" Olofsson
e42f4999bd
Quick fix for building on MSVC
2015-12-01 04:06:34 +01:00
scrawl
e5ec4fe042
Add const specifier
2015-11-30 21:02:26 +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
ac366f1603
Fix the rig bounds being updated twice per frame
...
Unlike what I expected, the osgUtil::UpdateVisitor is set to traverse all children (not only active children). The FrameSwitch was thus traversing both RigGeometries part of the double-buffering scheme, rather than only the one active in the current frame.
2015-11-30 05:42:31 +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
fc7456e0a1
Explicitely opt for float matrices in performance critical places
2015-11-22 19:54:27 +01:00
scrawl
36e91617c9
Revert "NifOsg::Emitter: ignore psToWorld scale"
...
This reverts commit 7c16630874
.
Fixes #3022
2015-11-19 22:09:32 +01:00
scrawl
9b96fcc224
Set the particle scaleReferenceFrame to local space
2015-11-19 15:49:42 +01:00
scrawl
21e25f4756
Use the traversalNumber as frame number
2015-11-16 20:03:45 +01:00
scrawl
7c16630874
NifOsg::Emitter: ignore psToWorld scale
...
Seems wrong to me, but MW appears to do it that way. Without this fix, the light_de_candle_08_64 from http://www.nexusmods.com/morrowind/mods/41654/ has flame particles in the wrong spot.
2015-11-13 00:23:00 +01:00
scrawl
0965a9059d
Handle NiLODNode using osg::LOD ( Fixes #3008 )
2015-11-12 19:52:36 +01:00
scrawl
1edcb219a7
Leak fix
2015-11-11 16:27:17 +01:00
scrawl
fc93dc6195
Remove a stray method declaration
2015-11-11 01:32:31 +01:00
scrawl
0409e5a043
Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change)
2015-11-10 18:28:58 +01:00
scrawl
f1ac408f35
Place Drawables directly in the scene graph when built with OSG 3.4
...
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.
There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
bd8332d2b0
Remove default copyop argument for nodecallback copy constructors
...
Works around a compiler warning with OSG 3.4:
warning: base class 'class osg::Callback' should be explicitly initialized in the copy constructor [-Wextra]
With no default argument for osg::CopyOp&, the compiler no longer sees the function as a real copy constructor and stops warning about the missing virtual initializations.
We don't care about this warning because there is nothing interesting to initialize in the osg::NodeCallback base anyway.
A proper fix for the warning would require to inserting OSG_VERSION conditional compiling all over the place, that is as long as we are still supporting OSG 3.2.
2015-11-09 18:57:17 +01:00
scrawl
64abdbabe3
Small refactor of controllers handling, print warning messages for unhandled controllers
2015-11-09 17:42:35 +01:00
scrawl
35f5be680b
Support for NiVisController on trishape nodes
2015-11-09 17:42:35 +01:00
scrawl
2ee6b41887
Handle NiAlphaProperty on a drawable basis
...
Removes the RenderBin nesting complication. Also results in leaner StateSets, so the cull phase should be a bit faster.
2015-10-19 15:46:53 +02:00
scrawl
8e69c80bf6
Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used
2015-09-26 01:21:33 +02:00
scrawl
76fb68a9c0
Handle particle systems that don't have emitters
...
Fixes a crash in the Magic Diversity mod.
2015-09-07 22:07:09 +02: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
Arthur Moore
2d93a6f6cb
Be more verbose when dealing with unhandled nif texture properties
2015-07-28 18:46:11 -04:00
scrawl
ac1f64b559
Fix StencilProperty front face mixup ( Fixes #2802 )
2015-07-28 03:20:18 +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
7a5f220ac5
GlowTexture keeps the alpha channel from the previous texture stage
2015-06-19 17:43:13 +02:00
scrawl
39539603bf
Re-enable a warning message
2015-06-18 03:03:30 +02:00
scrawl
a7c5beb7c5
Remove redundant allocations for NIF meshes
2015-06-18 01:26:45 +02:00
scrawl
81a4a6da6b
Make better use of the available texture units (Bug #2702 )
...
Nvidia drivers only support a maximum of 4 fixed function texture units. To resolve this problem, bind texture units in order instead of binding to the NiTexturingProperty::TextureType unit.
2015-06-17 20:43:39 +02:00
scrawl
934166a853
Ignore the alpha value for particle materials (Bug #2699 )
2015-06-17 18:04:33 +02:00
scrawl
d7a4a9fd66
Create NIF root nodes as Group instead of Transform when possible
2015-06-15 15:25:45 +02:00
scrawl
b79ab1a3b8
Fix InverseWorldMatrix bug introduced by last commit
2015-06-15 02:22:52 +02:00
scrawl
ec25f1da95
Fix ParticleSystem bug introduced by last commit
2015-06-15 02:17:57 +02:00
scrawl
ad46ff7a98
Remove redundant Transform nodes for TriShapes/ParticleSystems with an identity transform
2015-06-15 02:06:04 +02:00