Kyle Cooley
679a284735
Use scoped lock instead of directly locking/unlocking mutex
7 years ago
Kyle Cooley
b62cb0e2a4
Clear out GPU texture/stateset cache
7 years ago
Kyle Cooley
d7744e8b16
A bit of cleanup
7 years ago
Kyle Cooley
5950b26912
Update scene assets
7 years ago
Kyle Cooley
742bd00ec6
Clear cached resources
7 years ago
scrawl
be940656db
Add '0' as an alias for 'OFF' for OPENMW_OPTIMIZE
8 years ago
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
8 years ago
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
8 years ago
Julian Ospald
5d85fa9220
Fix build with osg >= 3.5.6
8 years ago
scrawl
813af876f6
Use a partial binary search in isReservedName ( Fixes #3835 )
8 years ago
scrawl
f676b62711
Remove unused variable
8 years ago
scrawl
e7a0878c10
Add CompositeMapRenderer info to the stats panel
8 years ago
scrawl
051c17a184
Make reportStats const
8 years ago
scrawl
35d53acc65
Factor out terrain chunk loading/caching into a new resource manager
8 years ago
scrawl
9a3a64f0c4
Add resource manager for ESM::Land to allow data to be unloaded when no longer required
8 years ago
scrawl
4cd4457d21
Add support for Functors to ObjectCache
8 years ago
scrawl
9d72d9f0c9
Change order of operations in SceneManager::updateCache to allow deleting of StateSets that just got unreferenced by the scene
8 years ago
scrawl
928e2061f7
Remove redundant tolower
8 years ago
scrawl
5866f0f80b
Add OPENMW_OPTIMIZE env variable to help debugging optimizer-related issues
...
Example:
OPENMW_OPTIMIZE=OFF
OPENMW_OPTIMIZE="~FLATTEN_STATIC_TRANSFORMS"
8 years ago
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
scrawl
4e0011bfc8
Improve NPC loading performance by caching the cleaned objectRoot
8 years ago
scrawl
585524805f
Add 'tri ' variant of part filters to optimizer ignore list
8 years ago
scrawl
75677f03e7
Remove SceneManager::notifyAttached
8 years ago
scrawl
3df7a8c4d8
Avoid FLATTEN_STATIC_TRANSFORMS optimization for non-Geometry drawables
8 years ago
scrawl
ebfd845eae
optimizer: run MERGE_GEOMETRY after removing redundant nodes
8 years ago
scrawl
e33829d493
Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
...
Remove optimizers that won't be used.
8 years ago
scrawl
5e2335f250
Use the osgUtil::Optimizer post loading in the SceneManager
8 years ago
scrawl
d75a3fd0fb
Add SharedStateManager to the stats panel
8 years ago
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
8 years ago
scrawl
3693f05ef5
Transform world-space particle systems in update callback so that animations are accounted for
8 years ago
scrawl
57b585570a
Preload magic effect visuals of the player's selected weapon/spell
8 years ago
scrawl
d141b98f0c
Add base animations to preloadCommonAssets
8 years ago
scrawl
c95868969b
Early out for scene graphs with no update callbacks in SceneManager::notifyAttached
8 years ago
scrawl
b4a6b6387b
Create own instance of osgDB::SharedStateManager so we control when to call prune()
...
prune() is now called in the background thread, just like the resource cache update.
Seems to improve performance by ~0.3 ms/frame
8 years ago
scrawl
e90941a8b3
Wrap the scene template reference in another object for const correctness and to avoid it from being serialized with the osgDB serializer
8 years ago
scrawl
5c94e2324f
Add missing use plugin macro for static build
8 years ago
scrawl
dda5bfbc9f
CharacterPreview no longer depends on osgViewer
8 years ago
scrawl
6f31b3d79f
Add parallax mapping for objects
9 years ago
scrawl
157c11398d
Add terrain parallax mapping
9 years ago
scrawl
24ae9f4ac1
Remove no longer needed apply(Geode&) in SetFilterSettingsVisitor and NodeToShapeVisitor
...
In OSG 3.4 (which is now a requirement), Drawables are normal Nodes attached in the scene graph. Geode is still provided for backwards compatibility, but does not need to be specially handled here because it now functions just like a normal Group node.
9 years ago
scrawl
e8caafa190
Remove no longer needed applyEffect(osgFX::Effect&) in SetFilterSettingsVisitor
...
No longer needed because terrain texture filtering is now updated manually in TerrainGrid::updateTextureFiltering.
9 years ago
scrawl
2eaf96e3bf
Make ResourceManager destructor virtual
9 years ago
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
scrawl
232e34bddd
OpenCS: port lighting toolbar, fix multiple context GL objects issue
10 years ago
scrawl
c5fd92fde1
Show a default warning texture for not found textures
10 years ago
scrawl
bb32c761df
*very* early texture manager, need a lot more thought to design this properly
10 years ago
scrawl
322fcdc2d3
Transform world space particles when attaching to a node
10 years ago
scrawl
99e1720980
Add SceneManager and clone utility
10 years ago