Cédric Mocquillon
40656b3135
Embed error marker in osgt format inside a string defined in misc/errorMarker.hpp.
...
Use the embed error marker we fail to load a mesh.
2021-11-20 11:12:08 +01:00
psi29a
41bd20e358
Merge branch 'bullet_shape_hash' into 'master'
...
Store BulletShape source file name and content hash
See merge request OpenMW/openmw!1379
2021-11-13 13:33:22 +00:00
elsid
d7041613ef
Store BulletShape source file name and content hash
2021-11-11 00:27:18 +01:00
Alexei Dobrohotov
9880c43c86
Add specular strength shader parameter
2021-11-10 19:58:06 +03:00
psi29a
5836d0225f
Merge branch 'leave_butter_to_soften' into 'master'
...
Soft Particles (#6128 )
See merge request OpenMW/openmw!980
2021-11-09 14:16:47 +00:00
Bo Svensson
1960e976e2
refactors stringops.hpp ( #3192 )
...
With this PR we refactor `StringUtils::replaceAll` to accept `string_view` as suggested in a code comment. In addition, while we are touching this rebuild happy file, we slim it down a bit by moving a few sparingly used functions elsewhere.
2021-11-05 10:53:52 +01:00
glassmancody.info
8c3b00164e
soft particles
2021-10-30 12:19:31 -07:00
elsid
b731a981c4
Make BulletShape::isAnimated inlined
2021-10-30 03:44:09 +02:00
elsid
c83facd9d3
Avoid redundant osg::ref_ptr<const BulletShape> copy
2021-10-30 03:44:08 +02:00
elsid
ed5a4e195b
Use unique_ptr to avoid possible memory leak
2021-10-30 03:44:08 +02:00
elsid
8e71c246bf
Remove redundant BulletShape getters
2021-10-30 03:44:08 +02:00
elsid
fc9a405dc5
Make BulletShape::makeInstance free function
2021-10-30 03:44:08 +02:00
elsid
b905dd17c3
Use unique_ptr to store btCollisionShape in BulletShape
2021-10-30 03:44:07 +02:00
elsid
80e3623d9a
Avoid dynamic cast in duplicateCollisionShape
2021-10-30 03:43:48 +02:00
elsid
ca8584f6f6
Move functions independent from BulletShape into anonymous namespace
2021-10-30 03:43:38 +02:00
elsid
29a772c33f
Rename Resource::BulletShape::CollisionBox fields according to styleguide
2021-10-29 21:05:58 +02:00
Bo Svensson
c9c8d02332
fixes a crash ( #3183 )
...
This PR fixes a crash caused by the improperly ensured lifetime of RigGeometry::mSourceGeometry. mSourceGeometry was not adequate to ensure mSourceGeometry would outlive mGeometry because we extend mGeometrys lifetime beyond this lifetime by passing mGeometry to the draw traversal instead of this.
In addition,
We add important comments.
We detect and prevent generally unsafe operations in high level code.
We add a sprinkling of const to help clarify intentions.
2021-10-23 10:31:46 +02:00
Bo Svensson
617eec338a
removes version guard ( #3173 )
...
We currently use a version guard to adapt to a change in the number of parameters supplied to osg::TriangleFunctor's operator() template functor. The differing parameter is unused in our code. Crucially, operator() is not an override, so we can just add a default value for the differing parameter. Such a default allows us to apply identical code to both versions of the library without regressing functionality.
2021-10-13 16:12:47 +02:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer ( #3138 )
...
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback ( #3147 )
...
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
8358418555
set the correct program link parameters ( #3110 )
...
* shadermanager.hpp setProgramTemplate
* shadermanager.hpp
* shadermanager.cpp setProgramTemplate
* shadervisitor.hpp setProgramTemplate
* shadervisitor.cpp setProgramTemplate
* scenemanager.cpp setProgramTemplate
* scenemanager.hpp setProgramTemplate
* renderingmanager.cpp
* groundcover.cpp setProgramTemplate
* groundcover.hpp
* groundcover.cpp
* shadervisitor.cpp
* util.cpp
* lightmanager.cpp
* scenemanager.cpp
* scenemanager.hpp
* lightmanager.cpp
* lightmanager.cpp
* lightmanager.cpp
* scenemanager.hpp [ci skip]
* water.cpp
* groundcover.cpp
* shadermanager.hpp
2021-09-29 15:40:37 +02:00
Bo Svensson
e41fe7573a
avoids creating empty statesets for collada nodes ( #3128 )
...
* avoids creating empty statesets for collada nodes
With this PR we avoid creating empty statesets for collada nodes which will be detrimental to osg's draw performance.
* scenemanager.cpp
2021-09-28 10:17:12 +02:00
Bo Svensson
5fde6867a2
removes unused code ( #3129 )
...
* scenemanager.cpp
* scenemanager.hpp
* scenemanager.cpp
* stats.cpp
* renderingmanager.cpp
2021-09-28 09:07:49 +02:00
Bo Svensson
c6f7137ee1
fixes bugs with share state ( #3111 )
...
* optimizer.cpp merge fix
* objectpaging.cpp
* optimizer.hpp setSharedStateManager
* optimizer.cpp shareState
* scenemanager.cpp shareState
* scenemanager.cpp
* optimizer.cpp
* optimizer.cpp
* scenemanager.cpp
* optimizer.cpp
2021-09-27 20:41:24 +02:00
unelsson
67894349a9
Add a check for OPAQUE_BIN
2021-09-19 22:38:07 +03:00
unelsson
f2a894024a
Change debug levels
2021-09-19 22:38:07 +03:00
unelsson
ec0b36d21d
Don't make a new osg::depth to alpha tested node
2021-09-19 22:38:07 +03:00
unelsson
96f02ab32c
Per-material alpha testing for collada
2021-09-19 22:38:07 +03:00
unelsson
40497d6fe5
Set depth testing for alpha blend & test, depth writes off for blend.
2021-09-19 22:38:07 +03:00
unelsson
b3d1d106af
Collada alpha testing and uniforms
2021-09-19 22:38:07 +03:00
Bo Svensson
f62adab43a
Avoid the terrain sync completely in most cases ( #3103 )
...
We can take elsid's commit 605cb8d
further by avoiding the terrain sync completely in most cases. Currently in changeCellGrid we wait for a new preloading task to ensure the getPagedRefnums for the new active cells have been filled in by object paging. This is usually not necessary because we have already completed a preload in the past containing these active cells. With this PR we remember what we preloaded and skip the terrain sync if it is not needed.
2021-09-16 22:11:19 +02:00
Cédric Mocquillon
6817282097
Move getFileExtension to common header and use instead of repeating same code
2021-09-14 18:09:55 +02:00
Cédric Mocquillon
c2df0949e2
Change normalizeFilename signature
2021-09-14 18:09:55 +02:00
jvoisin
cb08f490d7
Sprinkle some const-ref in loop
...
This was done on the good advices of clang-tidy
2021-09-04 20:50:59 +02:00
jvoisin
deb2af6acc
Dont copy-construct from a const-ref when used only as a const-ref
...
This also makes clang-tiny a bit happier
2021-08-29 20:22:34 +02:00
elsid
0f11acf709
Report more stats from AsyncNavMeshUpdater
2021-08-20 20:16:59 +02:00
jvoisin
5793f5cf18
Sprinkle a couple of std::move and a const
2021-08-16 13:11:22 +02:00
jvoisin
b01ef2629c
Fix two Wreorder clang warnings
2021-08-13 13:59:57 +02:00
jvoisin
586d8684d0
Fix two coverity issues about uninitialised variables
2021-08-09 12:43:30 +02:00
glassmancody.info
09e03fde2e
refactor and fix wobbly shores
2021-08-04 17:49:57 -07:00
glassmancody.info
cad0b151cb
enable shaders path and dehardcode depth formats
2021-08-04 17:39:11 -07:00
glassmancody.info
70fac33940
initial reverse-z depth implementation
2021-08-04 17:39:11 -07:00
elsid
c8987bda2f
Store reference to BulletShapeInstance for btCollisionShape
...
To keep btCollisionShape lifetime.
2021-08-03 12:21:56 +02:00
fredzio
c76387162b
Add projectiles number to the resources stats
2021-07-31 23:08:50 +02:00
Evil Eye
4f264af5a9
Merge branch 'staticsload' into 'master'
...
Loads statics before actors II (#5379 )
See merge request OpenMW/openmw!588
2021-06-28 20:25:51 +00:00
fredzio
c795e0bce6
Some actors are supposed to spawn on an object that belongs to an adjacent cell.
...
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.
Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.
Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
Evil Eye
9f7980ecd7
Merge branch 'refenreces' into 'master'
...
Sprinkle some references where it makes sense
See merge request OpenMW/openmw!952
2021-06-24 17:40:36 +00:00
jvoisin
cf11870b1c
Sprinkle some references where it makes sense
2021-06-24 00:28:09 +02:00
jvoisin
33e035cc95
Fix two excessive type casting instances
...
No need to to a string -> char* -> string dance.
2021-06-23 22:19:08 +02:00
CedricMocquillon
d11a6bd92c
Share state
2021-05-18 17:57:47 +02:00
psi29a
d843ec321e
Merge branch 'DoNotSearchTwice' into 'master'
...
Search only in the niffilemanager for nif files
See merge request OpenMW/openmw!823
2021-05-13 17:11:57 +00:00
Thunderforge
339d347aea
Fixing performance-faster-string-find issues
...
This addresses the Clang Tidy check [performance-faster-string-find](https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html ).
2021-05-10 22:44:07 -05:00
CedricMocquillon
a885134868
Do not search if it is not used
2021-05-06 13:28:06 +02:00
CedricMocquillon
813b8ee0d1
Search only in the niffilemanager for nif files
2021-05-05 23:19:08 +02:00
Andrei Kortunov
9647b670e4
Do not declare unused variables
2021-04-19 15:43:00 +04:00
glassmancody.info
16856d45c5
Lighting Patch
...
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
2021-04-16 11:55:40 -07:00
glassmancody.info
582f7b52cf
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:09:52 -07:00
glassmancody.info
7370acdf54
Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up
2021-04-13 11:09:19 -07:00
glassmancody.info
43ac32921c
Rewrite, support different lighting methods
2021-04-13 11:09:19 -07:00
glassmancody.info
9d9074c244
Add shared UBO
2021-04-13 11:07:48 -07:00
glassmancody.info
dda735c54a
initial commit
2021-04-13 11:06:16 -07:00
Andrei Kortunov
124a33d8a3
Fix uninitialized variables
2021-04-10 10:58:00 +04:00
Alexei Dobrohotov
2fdbe9b3f6
Handle BSShader[PP/No]LightingProperty
2021-03-22 01:55:58 +03:00
psi29a
cc6f08930b
Merge branch 'alpha-meddling' into 'master'
...
Replace deprecated alpha test in shader visitor
Closes #4899
See merge request OpenMW/openmw!473
2021-03-13 08:13:19 +00:00
AnyOldName3
9be258d260
Make it possible to reinstate FFP state easily
2021-02-19 19:59:48 +00:00
psi29a
59e09cba5b
Merge branch 'boltsize' into 'master'
...
Use projectile mesh size (#5829 )
See merge request OpenMW/openmw!587
2021-02-15 08:40:30 +00:00
elsid
561628087c
Merge branch 'profiler_fix' into 'master'
...
Fix profiler glitches (#5850 )
See merge request OpenMW/openmw!605
2021-02-15 00:01:06 +00:00
AnyOldName3
4f510d85ba
Merge remote-tracking branch 'upstream/master' into alpha-meddling
2021-02-14 22:42:55 +00:00
fredzio
c4e909c29e
Silence a clang warning:
...
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2021-02-12 19:36:03 +01:00
fredzio
bc4047d815
Update engine stats for all levels above first, not only at the second.
2021-02-12 19:03:02 +01:00
psi29a
c33b2e0100
Merge branch 'dehardcodebaseanim' into 'master'
...
Dehardcode Base_animation and improve Collada support
See merge request OpenMW/openmw!510
2021-02-10 16:29:47 +00:00
fredzio
6e969ca3fa
Use mesh collision box instead of node bounding sphere for projectile
...
size. The bounding sphere is much bigger than the mesh.
2021-02-05 22:53:45 +01:00
Alexei Dobrohotov
ab28847eaf
Merge branch 'collisionextentsandcenter' into 'master'
...
Get collision box extents and center from btBvhTriangleMeshShape
See merge request OpenMW/openmw!579
2021-02-04 23:03:43 +00:00
unelsson
303f1912a6
less debug spam
2021-02-04 23:14:52 +02:00
unelsson
d5844b0982
Use accompanying txt file for textkeys in osgAnimation formats
2021-02-04 23:14:21 +02:00
elsid
88ca4a1db6
Count navmesh cache hit rate
2021-02-04 00:35:24 +01:00
Nelsson Huotari
45fde84f4f
Use nodemasks and visitors for detecting custom collision shapes
2021-02-03 21:16:54 +02:00
Nelsson Huotari
5c32460153
Add underscore-separated node-names to reserved-list
2021-02-03 14:25:50 +02:00
Nelsson Huotari
384112746c
Add option for custom collision node with non-nif files
2021-02-03 14:25:09 +02:00
Nelsson Huotari
6c0c28c2eb
Get collision box extents and center from btBvhTriangleMeshShape
2021-02-02 21:51:46 +02:00
Nelsson Huotari
5b88d16a50
Clean-up
2021-02-02 21:09:50 +02:00
Nelsson Huotari
2162b97fef
Handle case in osgAnimation bone names
2021-02-02 17:34:02 +02:00
Nelsson Huotari
f87c45c92a
Get collision box extents and center from btBvhTriangleMeshShape
2021-01-30 16:03:02 +02:00
Nelsson Huotari
3194520dcd
Move base_anim settings to settings-default.cfg
2021-01-27 13:41:02 +02:00
Bret Curtis
b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
...
Grass instancing
2021-01-27 12:21:24 +01:00
Frederic Chardon
7cd7fa2f08
Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
...
a valid file.
2021-01-27 08:04:33 +00: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
8b2bf12e8f
Use bip01 for root bone name
2020-12-15 13:51:49 +02:00
Nelsson Huotari
3195716a2c
Don't force loop textkey
2020-12-15 13:49:25 +02:00
Nelsson Huotari
256aa5e71d
Use const auto&
2020-12-12 22:23:20 +02:00
Alexei Dobrohotov
15291f15d3
Make actor collision box components a struct
2020-12-11 20:07:59 +03:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Nelsson Huotari
55dcc6582a
Don't duplicate getFileExtension, use OpenMW's namespaces
2020-11-28 15:03:10 +02:00
Nelsson Huotari
08dcbe30b3
Earlier nullptr check
2020-11-20 19:46:08 +02:00
Nelsson Huotari
32d4344803
Don't copy osga-data in base class keyframecontroller, fix warnings.
2020-11-20 19:38:29 +02:00
Nelsson Huotari
6e77ad1f6a
OSG-Collada animation support
2020-11-19 01:11:56 +02:00
Nelsson Huotari
f78a5d795c
Separate keyframes logic to provide basis for osgAnimation integration.
2020-11-18 22:48:47 +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
AnyOldName3
85b5fdee35
Discard the alpha channel of 16-bit TGAs, just like Morrowind
2020-09-12 00:20:44 +01:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
...
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
elsid
56bc462007
Make all stats fit into the window
2020-07-03 20:49:23 +02: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
17637c6575
pagerebuild on disable
...
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
elsid
69df6098e5
Report frame number, number of actors and objects to stats
2020-05-22 17:39:18 +02:00
Capostrophic
16f6c7b27f
Use the new option to treat TGA files as TGA 1.0
2020-04-30 09:57:58 +03:00
Bret Curtis
d77047e1cf
tab2space
2020-04-28 13:16:37 +02:00
Bret Curtis
1870b4b345
catch and set with no _found; leave empty as empty string
2020-04-27 08:02:42 +02:00
Bret Curtis
6d3f9ce307
puts an end of error spam when OSG is copmiled without Freetype support
2020-04-26 22:20:57 +02:00
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
2020-04-20 20:57:38 +02:00
Andrei Kortunov
84979fa8b7
Move VisMask to components
2020-02-16 16:03:35 +04:00
Bret Curtis
1e9eac568f
Merge pull request #2249 from akortunov/cache
...
Implement generic caching system
2019-03-25 13:32:23 +01:00
elsid
4624f31788
Report navigator stats
2019-03-17 22:15:18 +03:00
elsid
2c78d530a2
Use static vector to store stat names
2019-03-17 20:50:15 +03:00
Andrei Kortunov
2ed05a5195
Implement generic caching system
2019-03-14 09:10:19 +04: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
567ad293fd
Don't discard object cache with uninitialized timestamp
...
This can happen during terrain loading
2019-02-28 03:01:32 +03:00
bzzt
aecbc2f01c
Fix crash when incremental compile operation is not used
2019-02-28 02:46:59 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Andrei Kortunov
92e45507d8
Weapon sheathing support, including quivers and scabbards (feature #4673 )
2018-11-05 11:18:20 +04:00
elsid
49d81241db
Merge branch 'master' into pathfinder_detour
2018-10-28 17:08:09 +03:00
Andrei Kortunov
61e6e359c4
Allow creatures to use the autogenerated collision box (feature #2787 )
2018-10-22 15:48:23 +04:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh
2018-10-13 22:16:32 +03:00
elsid
f6a60790f8
Create collision shape for all avoided nodes
2018-10-13 22:16:31 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
1452684d9e
Use new logging system for components
2018-08-14 19:42:41 +04:00
elsid
f2a63bcf35
Add unit tests for BulletNifLoader
2018-08-11 18:00:52 +03: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
Andrei Kortunov
70b6d4983d
Use the DejaVuLGCSansMono.ttf in profilier output
2018-07-11 14:41:49 +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
03554b2f4b
Fix some style issues flagged by cppcheck
2017-10-15 17:06:58 +02:00
scrawl
50d7eb8e54
Fix crash when adding a NULL object to the cache
2017-10-15 17:06:58 +02:00
scrawl
5fbdb64bb9
Add OPENMW_DECOMPRESS_TEXTURES environment variable to decompress textures in software if not supported by graphics hardware
...
Disabled by default due to requiring new functionality that was just added to OSG 3.6 or OpenMW/OSG.
2017-10-14 18:28:46 +00:00
Chris Robinson
021627bdf8
Mark some functions with override
...
Fixes some Clang warnings about overriding a virtual function without the
override keyword.
2017-09-18 01:51:11 -07: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
Kyle Cooley
d7744e8b16
A bit of cleanup
2017-08-20 19:07:23 -04:00
Kyle Cooley
5950b26912
Update scene assets
2017-08-19 19:36:45 -04:00
Kyle Cooley
742bd00ec6
Clear cached resources
2017-08-19 15:26:46 -04:00
scrawl
be940656db
Add '0' as an alias for 'OFF' for OPENMW_OPTIMIZE
2017-07-10 23:49:42 +02:00
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
Julian Ospald
5d85fa9220
Fix build with osg >= 3.5.6
2017-05-28 17:30:01 +02:00
scrawl
813af876f6
Use a partial binary search in isReservedName ( Fixes #3835 )
2017-05-07 23:28:56 +02:00
scrawl
f676b62711
Remove unused variable
2017-03-23 19:35:07 +01:00
scrawl
e7a0878c10
Add CompositeMapRenderer info to the stats panel
2017-03-14 19:27:56 +01: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
9a3a64f0c4
Add resource manager for ESM::Land to allow data to be unloaded when no longer required
2017-03-14 19:27:55 +01:00
scrawl
4cd4457d21
Add support for Functors to ObjectCache
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
928e2061f7
Remove redundant tolower
2017-03-13 02:48:23 +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
d141b98f0c
Add base animations to preloadCommonAssets
2017-02-09 03:32:40 +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
5c94e2324f
Add missing use plugin macro for static build
2016-10-08 19:20:44 +02:00
scrawl
dda5bfbc9f
CharacterPreview no longer depends on osgViewer
2016-08-16 22:47:45 +02: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
2eaf96e3bf
Make ResourceManager destructor virtual
2016-03-02 21:58:11 +01:00
scrawl
8bd16e4d5a
Don't compute the world matrix multiple times
2016-02-22 18:58:19 +01:00
scrawl
cee608e31b
Make it work with appveyor's outdated OSG build
2016-02-21 01:41:50 +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