1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 09:35:28 +00:00

234 Commits

Author SHA1 Message Date
AnyOldName3
9ec59783ba Add basic support for distant terrain CLSB
(cherry picked from commit 0f9dc3e65b72e6fff762f7a0933bae6f861e5fd4)
2018-02-23 23:37:04 +00:00
AnyOldName3
cb6767b4fc Move the declaration of ComputeLightSpaceBounds to the header so that it can be accessed from other compilation units.
(cherry picked from commit 8ac4fb208897a18da4934dd6f2fe84560b44ba9d)
2018-02-23 23:35:01 +00:00
AnyOldName3
6251e0519e Use CLSB results to reduce maximum shadow map distance when sensible. 2018-02-23 23:31:53 +00:00
AnyOldName3
9f20aaccfb Add some more advanced settings to control shadows. 2018-01-25 16:08:34 +00:00
AnyOldName3
6ec893b618 Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-01-22 15:54:13 +00:00
scrawl
bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
2018-01-11 01:49:35 +00:00
AnyOldName3
bf9a1ded63 Mark a function as override 2018-01-02 16:39:05 +00:00
AnyOldName3
c3e0398d1c Add settings 2017-12-27 02:32:17 +00:00
AnyOldName3
c192c851db Make disabling shadows disable their performance impact, too. 2017-12-26 23:51:50 +00:00
AnyOldName3
8957c92a36 Switch to a more industry-standard shadow map splitting scheme 2017-12-17 00:52:10 +00:00
AnyOldName3
7cce2d6f87 Implement a more sensible shadow map cascading system 2017-12-12 22:37:40 +00:00
AnyOldName3
98cd9fc144 Add preliminary support for global shader defines. 2017-11-22 20:07:07 +00:00
AnyOldName3
e201e359a9 Move Shadow to Components 2017-11-08 01:44:49 +00:00
scrawl
03554b2f4b Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
Miloslav Číž
380a5799dd use bbox as wrap range & apply to all particle systems 2017-10-14 21:42:19 +02:00
Miloslav Číž
33a1459b11 search for particle system by class name 2017-10-14 21:41:47 +02:00
scrawl
dca31b7ffa Remove redundant _boundingBoxComputed which no longer exists in osg master (Fixes #4075) 2017-09-04 19:35:42 +00:00
scrawl
2e58024f1c Fix intersections with Rig/MorphGeometry, was caused by an issue in the LineSegmentIntersector not respecting the cullingActive flag of a drawable. 2017-09-03 14:14:15 +00:00
scrawl
5e790b567e Fix node path issue
Needs to be set so that the 'cullingActive' flag of the node path's end can be checked
2017-09-01 22:12:40 +00:00
scrawl
4bef8260ab Add const qualifiers 2017-09-01 21:42:36 +00:00
scrawl
5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
scrawl
209e139aa8 Move double buffering implementation inside RigGeometry
The double buffering is an implementation detail so it should be handled as such, rather than mandating the scene graph to be structured in a certain way.

Override accept(NodeVisitor&) instead of using callbacks.
2017-09-01 21:42:34 +00:00
scrawl
45f7563a55 Revert "Revert "Check for a Geometry node when attaching bodyparts""
Issue with shaders has been fixed with b9931fb71cb028aa8f8bb9eefb611ecb23ec096e

This reverts commit a1e3fb7604a11307ed08f1ec84b31a359cb5ead5.
2017-08-31 21:40:35 +00:00
scrawl
a1e3fb7604 Revert "Check for a Geometry node when attaching bodyparts"
This reverts commit 3fc86342061bab0c30bed6821f66933fef546930.
2017-08-29 22:40:19 +00:00
scrawl
3fc8634206 Check for a Geometry node when attaching bodyparts (Fixes #3957) 2017-08-29 12:55:42 +00:00
Allofich
42402976e3 Fixes for building in MSVC 2017-06-13 19:38:12 +09:00
Bret Curtis
f0b21cca22 use own inline hash_combine function 2017-06-12 00:32:28 +02:00
Bret Curtis
154d7cffa2 replace and purge boost::function 2017-06-09 19:08:53 +02:00
Bret Curtis
07f75e1104 replace boost::shared_ptr in extern and components 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
scrawl
8d84869432 Fix commit 8f71b65d38f (don't overwrite the previous user data)
This resulted in a crash/corruption because the KeyframeController, for performance reasons, does not check that the expected user data is there and of correct type.

(Fixes #3829)
2017-05-05 05:27:00 +02:00
scrawl
8f71b65d38 sceneutil/attach: inherit the UserDataContainer to avoid the resource cache from being cleared incorrectly 2017-04-14 15:04:53 +02:00
scrawl
3d58ba7301 Fix boolean test 2017-03-15 17:50:13 +01:00
scrawl
34130fc5cc Fix handling in LightListCallback when the node is not a Group 2017-03-14 19:27:55 +01:00
scrawl
b78a9f89af Refactor LightListCallback to allow for integration in custom Drawables. 2017-03-14 19:27:55 +01:00
scrawl
13a6070629 Remove warning spam in skeleton.cpp
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
2017-03-13 02:48:22 +01:00
scrawl
c1b1d502ee Fix up commit 330e5fefd1274b21e42af59f5ed2b01ebefb0f01 2017-03-04 21:48:31 +01:00
scrawl
4051018862 optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback 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
706ac45c76 Fix missing particles caused by shallow copy of ParticleSystemController 2017-02-26 23:10:41 +01:00
scrawl
5caf53b6a3 optimizer: avoid reordering nodes
Fixes an osgParticle cloning issue.

(Fixes #3773)
2017-02-26 03:25:17 +01:00
scrawl
a95773beef Fix unnecessary copy of ParticleSystem in SceneUtil::CopyOp 2017-02-26 03:15:57 +01:00
scrawl
48e0f098ff Add missing copy of callbacks when a Transform is replaced by Group
(Fixes #3770)
2017-02-24 07:38:03 +01:00
scrawl
330e5fefd1 optimizer: consider a Group with more than one child redundant as well
While there could be some value in this hierarchy (i.e. improved culling), we don't know if this is being used sensibly; and using a 'flat' hierarchy helps other optimizations.
2017-02-24 02:58:41 +01:00
scrawl
e4c12e5e56 optimizer: don't merge Geometry that has transparency sorting enabled 2017-02-24 02:58:27 +01:00
scrawl
ebfd845eae optimizer: run MERGE_GEOMETRY after removing redundant nodes 2017-02-23 23:28:50 +01:00
scrawl
43f31d6e54 optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode 2017-02-23 23:28:50 +01:00
scrawl
f2a323238f optimizer: merge groups as part of REMOVE_REDUNDANT_NODES 2017-02-23 23:28:50 +01:00
scrawl
af716d4b61 optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor 2017-02-23 23:28:50 +01:00
scrawl
698738c649 optimizer: use asXYZ() instead of dynamic_cast 2017-02-23 23:28:50 +01:00