Commit Graph

101 Commits (openmw-38)

Author SHA1 Message Date
scrawl daa94cc50e Fix cppcheck warnings 9 years ago
scrawl 0597c8fd9c Pass a Vec4f by reference 9 years ago
scrawl 624809c8dc Minor fix for error handling in skeleton.cpp 9 years ago
scrawl e39f49a88f OSG extensions namespace fixes 9 years ago
scrawl c60f4ba7bd Make RigGeometry bone references case-insensitive (Fixes #3058) 9 years ago
scrawl 258f7a2b42 LightController fixes 9 years ago
scrawl 4a9b37aa53 Fix copy constructor issue 9 years ago
scrawl c442af09c5 Write more documentation for the lighting system 9 years ago
scrawl 8e9571d155 Double buffer the light StateAttributes and StateSets
Fixes a race condition where the position of a light could jump a frame ahead.
9 years ago
scrawl 1f8ee9b8d1 StateSetUpdater: use the frameNumber
More robust in case a node is updated twice in the same frame (e.g. because it has multiple parents).
9 years ago
scrawl eb458bf9c8 Fix inactive RigGeometry not rendering correctly 9 years ago
scrawl 1b77428c59 Use const reference, thanks ace13 9 years ago
scrawl 94e8560bf8 RigGeometry: do not allocate new NodePath every frame 9 years ago
scrawl 6d5aa272fc RigGeometry: do not update the geomToSkelMatrix more than once per frame 9 years ago
scrawl 75a464f7ec Fix a typo 9 years ago
scrawl fc7456e0a1 Explicitely opt for float matrices in performance critical places 9 years ago
scrawl 62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 9 years ago
scrawl 3bd2aaddea Adjust PulseSlow light controller (Fixes #1963) 9 years ago
scrawl 21e25f4756 Use the traversalNumber as frame number 9 years ago
scrawl 054c3eb24e Do not deep copy PrimitiveSets when build with OSG 3.5 9 years ago
scrawl 0409e5a043 Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change) 9 years ago
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.
9 years ago
scrawl 35459f20d5 Refactor lighting mask 9 years ago
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.
9 years ago
scrawl 1200ff9186 RigGeometry: fix incorrect bounding box in the first frame
The default computeBound() was overriding the manually set bounding box.
9 years ago
scrawl 0210b87ffc Revert "Fix LightSource crash"
This reverts commit f336c6db87.

Root cause should be fixed in next commit.
9 years ago
scrawl c996702b56 Fix some uninitialised variables found by static analysis 9 years ago
scrawl c23609e22b Cache the light list in LightListCallback
When multiple cameras are rendering, the later cameras can reuse the light lists from the first camera.
9 years ago
scrawl fd1ccd21ff Disable freezeOnCull for weather particles 9 years ago
scrawl 5ca0ae5232 Don't add the same AlphaFader to multiple nodes 9 years ago
scrawl f336c6db87 Fix LightSource crash 9 years ago
scrawl 49df6b7450 LightManager: fix incorrect view matrix for RELATIVE_RF cameras 9 years ago
scrawl 6dff11f847 Duplicate code fix 9 years ago
scrawl 8552a9d82c Add multiple camera support to LightManager 9 years ago
scrawl 8e69c80bf6 Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used 9 years ago
scrawl f7e5a40143 Fix typo 9 years ago
scrawl e9acd135a6 Update todo comment 9 years ago
scrawl cda8a88f0d Use DEEP_COPY_PRIMITIVES to work around problem in osg::Geometry copy constructor (Bug #2754) 9 years ago
scrawl b3f5ac5dbb Include cleanup 10 years ago
scrawl 49c07de773 Merge pull request #643 from ace13/win-build-fix
Fix build error and a pair of warnings
10 years ago
Alexander "Ace" Olofsson aaaee74a4d Fix the comments 10 years ago
scrawl 631cec7304 Take the radius of lights into account when sorting 10 years ago
scrawl 43f9c7f295 Skip the Update traversal for inactive skeletons 10 years ago
scrawl aad8e7b6d0 Light culling fix 10 years ago
scrawl 18f4eaa8dc Preliminary handling for overflowing light lists 10 years ago
scrawl acf9fc2d37 Enable per-frame light list updates (Bug #2638, Bug #2654)
The performance impact isn't so big anymore since the last commit.
10 years ago
scrawl 1d198a5592 Keep the light list StateSet cache for more than one frame 10 years ago
scrawl b204396b57 Minor fix 10 years ago
scrawl a1e74a35a2 Revert "Use the WorkQueue to update skinning"
This reverts commit d52d0d9640.

Moving to branch
10 years ago
scrawl 9c86d4f8bc Race condition fix 10 years ago