scrawl
4e0011bfc8
Improve NPC loading performance by caching the cleaned objectRoot
2017-03-01 03:00:49 +01:00
scrawl
585524805f
Add 'tri ' variant of part filters to optimizer ignore list
2017-02-25 21:48:07 +01:00
scrawl
75677f03e7
Remove SceneManager::notifyAttached
2017-02-24 02:58:41 +01:00
scrawl
3df7a8c4d8
Avoid FLATTEN_STATIC_TRANSFORMS optimization for non-Geometry drawables
2017-02-24 02:58:41 +01:00
scrawl
ebfd845eae
optimizer: run MERGE_GEOMETRY after removing redundant nodes
2017-02-23 23:28:50 +01:00
scrawl
e33829d493
Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
...
Remove optimizers that won't be used.
2017-02-23 23:28:50 +01:00
scrawl
5e2335f250
Use the osgUtil::Optimizer post loading in the SceneManager
2017-02-23 23:28:50 +01:00
scrawl
d75a3fd0fb
Add SharedStateManager to the stats panel
2017-02-23 23:28:49 +01:00
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
2017-02-22 14:28:45 +01:00
scrawl
3693f05ef5
Transform world-space particle systems in update callback so that animations are accounted for
2017-02-21 23:27:20 +01:00
scrawl
57b585570a
Preload magic effect visuals of the player's selected weapon/spell
2017-02-15 21:01:25 +01:00
scrawl
c95868969b
Early out for scene graphs with no update callbacks in SceneManager::notifyAttached
2017-02-04 01:22:43 +01:00
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
2017-02-03 03:27:12 +01:00
scrawl
e90941a8b3
Wrap the scene template reference in another object for const correctness and to avoid it from being serialized with the osgDB serializer
2017-02-01 06:00:14 +01:00
scrawl
6f31b3d79f
Add parallax mapping for objects
2016-03-22 21:46:15 +01:00
scrawl
157c11398d
Add terrain parallax mapping
2016-03-22 21:46:15 +01:00
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.
2016-03-14 00:38:22 +01:00
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.
2016-03-14 00:31:43 +01:00
scrawl
8bd16e4d5a
Don't compute the world matrix multiple times
2016-02-22 18:58:19 +01:00
scrawl
8e826eefe6
Add missing initialization
2016-02-21 01:26:45 +01:00
scrawl
cdefee3e64
Add call to MultiObjectCache::releaseGLObjects
2016-02-20 20:38:37 +01:00
scrawl
4ca6e91292
Fix in-code default settings so that we don't attempt to use shaders in OpenCS
2016-02-20 20:36:29 +01:00
scrawl
f01e8a6950
Add specular mapping for objects
2016-02-20 19:55:08 +01:00
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'
2016-02-20 18:00:43 +01:00
scrawl
6000e48bba
Add terrain shaders and normal map support
...
Textures with _n filename suffix are automatically recognized as terrain normal maps.
2016-02-19 01:37:30 +01:00
scrawl
268594dcf1
Recreate shader in NpcAnimation::setAlpha
2016-02-18 22:48:53 +01:00
scrawl
a73512afb7
Add shader settings to settings.cfg
2016-02-18 19:38:34 +01:00
scrawl
a9ad1b09e2
Introduce ShaderManager & ShaderVisitor
...
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e05d975020
Change the way that texture filtering settings are applied at runtime
2016-02-18 19:37:55 +01:00
scrawl
c4d38bb42d
Fix clang analyzer warnings
2016-02-16 19:17:04 +01:00
scrawl
5824619a95
Clean up includes
2016-02-12 19:28:10 +01:00
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)
2016-02-12 14:46:45 +01:00
scrawl
9f729667fb
Remove debug output
2016-02-09 21:16:11 +01:00
scrawl
e28dc3e72f
Preload instances in SceneManager
2016-02-09 18:35:26 +01:00
scrawl
c8054424c9
Preload items equipped by NPCs
2016-02-07 22:37:52 +01:00
scrawl
41233fc8e5
Keep a reference to the original scene template for as long as the instance is used
2016-02-07 18:56:21 +01:00
scrawl
49ecac4ced
Add a mutex lock around the SharedStateManager
2016-02-07 07:37:35 -08:00
scrawl
8b981ab507
Crash fix
2016-02-07 05:53:42 -08:00
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.
2016-02-06 17:22:17 +01:00
scrawl
ea1efaac0c
Use the osgDB::ObjectCache in SceneManager, cleanup
2016-02-06 00:15:12 +01:00
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
2016-02-05 23:10:27 +01:00
scrawl
f99f403dda
Rename TextureManager to ImageManager
2016-02-05 23:03:53 +01:00
scrawl
71401aafe7
Handle multipass techniques in SetFilterSettingsVisitor
2016-02-05 21:08:32 +01:00
scrawl
31988ca4cc
Add a dont_override_filter description for textures that should be left alone
2016-02-05 21:07:08 +01:00
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.
2016-02-05 21:03:11 +01:00
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.
2016-02-05 21:03:10 +01:00
scrawl
d9290b0ee0
Array fix
2016-01-25 21:13:38 +01:00
scrawl
48f53e23bf
Allow alternate mesh formats for marker_error
2016-01-25 17:15:54 +01:00
scrawl
64424e7262
Move keyframe loading out of SceneManager to new KeyframeManager
2015-12-13 15:31:07 +01:00
scrawl
3d12b2ca9d
Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager.
2015-12-02 14:59:32 +01:00
scrawl
fc7456e0a1
Explicitely opt for float matrices in performance critical places
2015-11-22 19:54:27 +01:00
scrawl
ffea9ec2c4
Remove comment
...
SharedStateManager::prune is run automatically during the update traversal.
2015-11-22 19:54:26 +01:00
scrawl
83e9a649e5
Cleanup
2015-11-17 01:45:38 +01:00
scrawl
eb2f16d682
Support for loading .osg mesh format
2015-11-16 23:26:43 +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
91583fc027
Fix MWRender::Mask_ParticleSystem
2015-11-10 17:00:33 +01:00
scrawl
26656707dd
Use marker_error.nif as replacement when a mesh fails to load
2015-07-28 03:21:44 +02:00
scrawl
43384596d4
Style fix
2015-06-18 01:26:10 +02:00
scrawl
b648722d3b
Don't use the ParticleSystem for computing placeable bounds (Bug #2700 )
2015-06-17 15:13:41 +02:00
scrawl
6199c0bbc5
Use osgDB::SharedStateManager for sharing of StateSets across NIF files
2015-06-16 23:50:19 +02:00
scrawl
8d6620b074
Assign an initial bounding box to particle systems
2015-06-11 02:37:49 +02:00
scrawl
7f9f9a32d2
InitWorldSpaceParticles fix
2015-06-01 16:29:42 +02:00
scrawl
723beb1cac
Move IncrementalCompileOperation to SceneManager
2015-05-26 20:20:18 +02:00
scrawl
af7cbb2e3b
Leak fix
2015-05-08 17:52:35 +02:00
scrawl
5dd1ab24fe
More efficient StateSetController, beginnings of sky rendering
2015-04-14 15:58:16 +02:00
scrawl
74c56556cc
More fixes for scaled particle systems
2015-04-05 14:10:31 +02:00
scrawl
e5e1013c51
TextKeys attached to root node as user data, add .kf loading to scenemanager
2015-04-02 17:34:44 +02:00
scrawl
232e34bddd
OpenCS: port lighting toolbar, fix multiple context GL objects issue
2015-03-28 20:15:17 +01:00
scrawl
bb32c761df
*very* early texture manager, need a lot more thought to design this properly
2015-03-28 02:27:59 +01:00
scrawl
322fcdc2d3
Transform world space particles when attaching to a node
2015-03-28 00:30:49 +01:00
scrawl
99e1720980
Add SceneManager and clone utility
2015-03-26 18:02:51 +01:00