Commit Graph

155 Commits (520e65f82205480a6286d6c51129c0715ec13149)

Author SHA1 Message Date
scrawl 8bd16e4d5a Don't compute the world matrix multiple times 9 years ago
scrawl cee608e31b Make it work with appveyor's outdated OSG build 9 years ago
scrawl 8e826eefe6 Add missing initialization 9 years ago
scrawl cdefee3e64 Add call to MultiObjectCache::releaseGLObjects 9 years ago
scrawl 4ca6e91292 Fix in-code default settings so that we don't attempt to use shaders in OpenCS 9 years ago
scrawl f01e8a6950 Add specular mapping for objects 9 years ago
scrawl 5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
9 years ago
scrawl 6000e48bba Add terrain shaders and normal map support
Textures with _n filename suffix are automatically recognized as terrain normal maps.
9 years ago
scrawl 268594dcf1 Recreate shader in NpcAnimation::setAlpha 9 years ago
scrawl a73512afb7 Add shader settings to settings.cfg 9 years ago
scrawl a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
9 years ago
scrawl e05d975020 Change the way that texture filtering settings are applied at runtime 9 years ago
scrawl c4d38bb42d Fix clang analyzer warnings 9 years ago
scrawl 9eb96b9cb6 Parse the bullet version in FindBullet.cmake 9 years ago
scrawl 83a9a164bc Raise the required bullet version to 2.83
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587).
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 9f729667fb Remove debug output 9 years ago
scrawl 0865cea211 Preload terrain 9 years ago
scrawl 246566cef4 Preload instances in BulletShapeManager 9 years ago
scrawl e28dc3e72f Preload instances in SceneManager 9 years ago
scrawl 2e62298bd3 Clean up ObjectCache includes 9 years ago
scrawl e4e313fe12 Remove outdated comment 9 years ago
scrawl c8054424c9 Preload items equipped by NPCs 9 years ago
scrawl a81b10b415 Make the cache expiryDelay configurable 9 years ago
scrawl 41233fc8e5 Keep a reference to the original scene template for as long as the instance is used 9 years ago
scrawl 778bce3ae9 Remove unused ObjectCache functions 9 years ago
scrawl 49ecac4ced Add a mutex lock around the SharedStateManager 9 years ago
scrawl 8b981ab507 Crash fix 9 years ago
scrawl c155680d3c Customize ObjectCache for more efficient locking in removeExpiredObjectsInCache 9 years ago
scrawl d855a13b44 Clear the resource cache from the worker thread 9 years ago
scrawl 6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
9 years ago
scrawl e055ae094a Improve const-correctness in BulletShapeManager
Sadly, two const_cast's are needed to work around Bullet API quirks.
9 years ago
scrawl df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
9 years ago
scrawl ea1efaac0c Use the osgDB::ObjectCache in SceneManager, cleanup 9 years ago
scrawl 909c4d96b6 Use the osgDB::ObjectCache in BulletShapeManager 9 years ago
scrawl 6c1c653cba Use the osgDB::ObjectCache in ImageManager
Should be thread safe now.
9 years ago
scrawl 9e53e12c70 More renaming of TextureManager -> ImageManager 9 years ago
scrawl 5ee3d1698f Remove getWarningTexture in favor of getWarningImage 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 71401aafe7 Handle multipass techniques in SetFilterSettingsVisitor 9 years ago
scrawl 31988ca4cc Add a dont_override_filter description for textures that should be left alone 9 years ago
scrawl e8662bea31 Change the way that image origin is converted to OpenGL's lower-left convention
Flip the texture coordinates instead of flipping textures.

This simplifies the TextureManager (no need to worry if the caller wants flipping or not), should make it easier to generalize & multithread it.
9 years ago
scrawl 6ac688c0e2 Change the way that texture filtering setting changes are applied at runtime to not require keeping a reference to textures
The references would be difficult to clean up because there may or may not be another reference to the texture in the osgDB::SharedStateManager.
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 d9290b0ee0 Array fix 9 years ago
scrawl 48f53e23bf Allow alternate mesh formats for marker_error 9 years ago
Tobias Kortkamp 0659687bfb Some fixes for building on FreeBSD 9 years ago
Alexander "Ace" Olofsson 0efb8e2949 osgDB::ObjectCache was added in 3.3.3, not 3.4.0
Fixes redefinition error on builds with OSG >3.3.3 <3.4.0
9 years ago
scrawl c70790ecb7 Remove outdated comment 9 years ago
scrawl 076dc539bc KeyframeManager fix 9 years ago
Chris Robinson f1faeeae3a Use separate config options for min and mag texture filters 9 years ago
Chris Robinson 5c0a847eaf Combine some duplicate code 9 years ago
scrawl 64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 9 years ago
scrawl 295563ba65 Minor fix 9 years ago
scrawl 9d4af59860 Don't attempt to create quest log buttons if textures are unavailable (Fixes #3063) 9 years ago
scrawl 87e44bf627 Small fix 9 years ago
scrawl d3fa8a8602 Add osgDB::ObjectCache to the repository to work around it not being available in OSG 3.2 9 years ago
scrawl 3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 9 years ago
scrawl e49bce7b40 Share the bvh of btBvhTriangleMeshShape's when possible
Results in decent cell-loading speed up. (only affects bullet versions < 2.83, since we use btScaledBvhTriangleMeshShape for >=2.83)
9 years ago
scrawl fc7456e0a1 Explicitely opt for float matrices in performance critical places 9 years ago
scrawl ffea9ec2c4 Remove comment
SharedStateManager::prune is run automatically during the update traversal.
9 years ago
scrawl d68ea994d5 Deal with empty meshes 9 years ago
scrawl 83e9a649e5 Cleanup 9 years ago
scrawl e62470d674 Auto-generate the collision shape for native mesh formats 9 years ago
scrawl 8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 9 years ago
scrawl eb2f16d682 Support for loading .osg mesh format 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 91583fc027 Fix MWRender::Mask_ParticleSystem 9 years ago
scrawl af3b0cd883 Improve some error messages 9 years ago
Alexander "Ace" Olofsson 1f78ebd3c9 Oops? 10 years ago
Alexander "Ace" Olofsson 77a3a52b4e What's wrong with this statement? 10 years ago
Alexander "Ace" Olofsson e9ffbcc1b0 OSG 3.3.3 moves GL extensions out of osg::Texture 10 years ago
scrawl d7ad0ee148 Print a sensible error message when S3TC support is missing (Fixes #2800) 10 years ago
scrawl 26656707dd Use marker_error.nif as replacement when a mesh fails to load 10 years ago
Marc Zinnschlag edde1fb727 Merge remote-tracking branch 'scrawl/master' 10 years ago
slothlife 1b3cc957f8 Move some OSG static library setup code 10 years ago
slothlife df99d5a59d Move setup code for OSG when statically linked 10 years ago
slothlife 83ef1f7eea Add support for linking OpenSceneGraph statically
Added some basic support for linking to OpenSceneGraph and its plugins
statically. Also added a library necessary to statically link MyGUI
(previously Ogre pulled it in).
10 years ago
scrawl c4866bdfc6 Disable mipmaps for GUI textures
For some reason, the mipmap generator seems to be broken on Linux Intel graphics (works on Nvidia). This was breaking the scrollbar arrows, which are minified enough to show using a mipmap.
10 years ago
scrawl efad4efe19 Star fading (Bug #2693) 10 years ago
scrawl 43384596d4 Style fix 10 years ago
scrawl fabc5126f3 Include cleanup 10 years ago
scrawl b648722d3b Don't use the ParticleSystem for computing placeable bounds (Bug #2700) 10 years ago
scrawl 6199c0bbc5 Use osgDB::SharedStateManager for sharing of StateSets across NIF files 10 years ago
scrawl 8d6620b074 Assign an initial bounding box to particle systems 10 years ago
scrawl bd0233ce68 Error handling improvement 10 years ago
scrawl 7f9f9a32d2 InitWorldSpaceParticles fix 10 years ago
scrawl 723beb1cac Move IncrementalCompileOperation to SceneManager 10 years ago
scrawl 24bb2e152c Apply texture filter setting changes 10 years ago
scrawl af7cbb2e3b Leak fix 10 years ago
scrawl 140e67036c Flip non-dds textures vertically
Fixes the up-side down loading screens.
10 years ago
scrawl 1a5407af98 Reduce texture memory usage in OpenMW 10 years ago
scrawl 1b78acc2c0 Remove manual allocation for images 10 years ago
scrawl 083c41c950 Environment map for enchanted objects 10 years ago
scrawl 5dd1ab24fe More efficient StateSetController, beginnings of sky rendering 10 years ago
scrawl 74c56556cc More fixes for scaled particle systems 10 years ago
scrawl e5e1013c51 TextKeys attached to root node as user data, add .kf loading to scenemanager 10 years ago