1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-20 14:23:53 +00:00
Commit graph

159 commits

Author SHA1 Message Date
Nelsson Huotari
5b88d16a50 Clean-up 2021-02-02 21:09:50 +02:00
Nelsson Huotari
3194520dcd Move base_anim settings to settings-default.cfg 2021-01-27 13:41:02 +02:00
Andrei Kortunov
24e1dfcddc Use default argument 2021-01-26 22:29:41 +04:00
Andrei Kortunov
14cf0ce1dc Implement instanced groundcover 2021-01-26 22:29:41 +04:00
AnyOldName3
b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 2021-01-20 23:37:19 +00:00
Andrei Kortunov
f175beb304 Define template ref classes in components 2021-01-13 14:25:21 +04:00
AnyOldName3
8f4b856b44 Initial A2C implementation 2020-12-26 22:45:53 +00:00
Nelsson Huotari
55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 2020-11-28 15:03:10 +02:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
Alexei Dobrohotov
b523574090 Remove shader visitor settings manager dependency 2020-11-09 13:59:59 +03:00
Andrei Kortunov
660df19ff7 Allow to assign custom shaders to nodes 2020-10-25 18:22:16 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
Nelsson Huotari
5bc44cf2ee Use sequenced texture units with .dae/collada 2020-06-16 14:37:06 +03:00
bzzt lost a hitlab login
26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
69514dfd46 ico redundency fix + stats counter
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
cf439581e1 comply by elsid review
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
Andrei Kortunov
b214c54b3a Calculate bounding volumes when preloading model instance 2019-03-09 13:15:16 +04:00
Capostrophic
0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 2019-03-05 23:36:08 +03:00
bzzt
aecbc2f01c Fix crash when incremental compile operation is not used 2019-02-28 02:46:59 +03:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Andrei Kortunov
1452684d9e Use new logging system for components 2018-08-14 19:42:41 +04:00
Andrei Kortunov
1f4dd3b393 Make partial binary search case insensitive, as it supposed to be (bug #4558) 2018-08-05 13:26:12 +04:00
scrawl
a5adc5b018 Add NPC base skeleton files to the optimizer blacklist (Fixes #4159) 2017-11-10 22:51:32 +00:00
scrawl
136ef1f738 Fix incomplete settings in recreateShaders() 2017-10-15 17:24:23 +02:00
scrawl
4fba157d3b Implement releaseGLObjects for cached resources 2017-08-26 19:29:12 +00:00
Kyle Cooley
979b0d7211 Code cleanup and more cache clearing 2017-08-21 18:58:38 -04:00
Kyle Cooley
679a284735 Use scoped lock instead of directly locking/unlocking mutex 2017-08-21 13:33:11 -04:00
Kyle Cooley
b62cb0e2a4 Clear out GPU texture/stateset cache 2017-08-20 19:55:16 -04:00
scrawl
be940656db Add '0' as an alias for 'OFF' for OPENMW_OPTIMIZE 2017-07-10 23:49:42 +02:00
scrawl
813af876f6 Use a partial binary search in isReservedName (Fixes #3835) 2017-05-07 23:28:56 +02:00
scrawl
051c17a184 Make reportStats const 2017-03-14 19:27:55 +01:00
scrawl
35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 2017-03-14 19:27:55 +01:00
scrawl
9d72d9f0c9 Change order of operations in SceneManager::updateCache to allow deleting of StateSets that just got unreferenced by the scene 2017-03-14 19:27:55 +01:00
scrawl
5866f0f80b Add OPENMW_OPTIMIZE env variable to help debugging optimizer-related issues
Example:

OPENMW_OPTIMIZE=OFF
OPENMW_OPTIMIZE="~FLATTEN_STATIC_TRANSFORMS"
2017-03-04 21:48:31 +01:00
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.
2017-03-04 21:48:31 +01:00
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