Commit Graph

184 Commits (openmw-39)

Author SHA1 Message Date
scrawl bc36269617 When a controller is present more than once in the same keyframe file, pick the first one (Fixes #2719) 9 years ago
scrawl aae43dbff5 Set the MorphGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 9 years ago
scrawl 84b8da7a09 Share the osg::Material on drawables
Reduces the number of GL calls / frame by ~4%.
9 years ago
scrawl abcfe9bcee Don't add empty text key objects 9 years ago
scrawl 02d23564dc Include cleanup 9 years ago
scrawl f898bf493f Don't use Geodes 9 years ago
scrawl 82b792f808 Eliminate dynamic_cast in BillboardCallback 9 years ago
scrawl dd2fbfc0a2 Fix windows build 9 years ago
scrawl 6e7c6fdd7e Implement NiTexturingProperty::DecalTexture 9 years ago
scrawl 30d06bfe0e Add comment 9 years ago
scrawl 64636bd85a Improve error reporting 9 years ago
scrawl cdccf03228 Fix mismatched delete 9 years ago
scrawl 5f4ace1bc2 Implement support for sphere map NiTextureEffects (Fixes #1827) 9 years ago
scrawl 90a99991d1 Use empty() instead of !size() 9 years ago
scrawl 8bd16e4d5a Don't compute the world matrix multiple times 9 years ago
scrawl 055d35a2b0 Revert "Warn about particle emitters that have multiple parent node paths"
Not working correctly because osg won't ignore camera nodes.

This reverts commit 1667c807be.
9 years ago
scrawl 1667c807be Warn about particle emitters that have multiple parent node paths 9 years ago
scrawl 8f81df2bd3 Cleanup 9 years ago
scrawl e647ee5424 Support RGB and RGBA embedded textures in NIF files (Fixes #2295) 9 years ago
scrawl 606758d72f NifLoader: create the BumpTexture slot, but don't use it yet 9 years ago
scrawl 4cd4131da9 NifLoader: assign a name to created textures
This name will tell the shader visitor how to handle that texture.
9 years ago
scrawl 50e92c8136 NifLoader: move texture property handling to a separate function 9 years ago
scrawl acf44fd9e5 NifLoader: handleTextureControllers outside of the NumTextures loop 9 years ago
scrawl 5824619a95 Clean up includes 9 years ago
scrawl 8b596dfcbe Remove support for OSG 3.2
Since commit e8662bea31, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
9 years ago
scrawl be6ea3d607 Account for UV coordinate flip in UVController (Fixes #3203) 9 years ago
scrawl 9f729667fb Remove debug output 9 years ago
scrawl 9e53e12c70 More renaming of TextureManager -> ImageManager 9 years ago
scrawl f99f403dda Rename TextureManager to ImageManager 9 years ago
scrawl 6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
9 years ago
scrawl 5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
9 years ago
scrawl 2eda495f89 Build fix for OSG 3.2 9 years ago
scrawl 06ed20abf8 Use the initial pose of a MorphGeometry for object placement (Fixes #3136) 9 years ago
scrawl 6b48acaf0e Don't optimize TriShapes with controllers (Fixes #3143) 9 years ago
scrawl daa94cc50e Fix cppcheck warnings 9 years ago
scrawl 723c392a73 NifLoader: fall back to the first UV set when encountering invalid UV set references 9 years ago
scrawl 0731595c2b Wrap a Texture2D in a ref_ptr 9 years ago
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.
9 years ago
scrawl 64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 9 years ago
scrawl e3d3380c8c Remove return value for in-place toLowerStr 9 years ago
scrawl 1d5af3c9c8 Remove unneeded cast 9 years ago
scrawl e39f49a88f OSG extensions namespace fixes 9 years ago
scrawl a29aef14f1 Eliminate a dynamic_cast in ParticleSystemController 9 years ago
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.
9 years ago
scrawl c9d710f334 Use a typedef to avoid conditional compiling 9 years ago
Alexander "Ace" Olofsson cfcbd20d99 Let's put it as a MSVC-only fix for now 9 years ago
Alexander "Ace" Olofsson e42f4999bd Quick fix for building on MSVC 9 years ago
scrawl e5ec4fe042 Add const specifier 9 years ago
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.
9 years ago
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.
9 years ago