elsid
bd149b909f
Remove unused virtual modifiers in ShadowManager
...
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯 9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
setupShadowSettings();
^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯 9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯 9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
enableOutdoorMode();
^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
2019-11-17 18:26:56 +01:00
Andrei Kortunov
f09d20434c
Clamp number of shadow maps
2019-11-17 17:25:02 +04:00
Andrei Kortunov
7074baa1c2
Clamp number of shadow maps, as described in docs
2019-11-13 15:10:22 +04:00
bzzt
b6ed2f1718
Add optional shadow map max distance and fading
2019-11-02 18:06:39 +03:00
Andrei Kortunov
e568ad30ea
Copy transformations data when we clone node (bug #5163 )
2019-09-19 11:35:15 +04:00
Andrei Kortunov
d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
...
Add support for QuadraticMethod/LinearMethod setup (bug #4965 , continuation)
2019-08-11 22:17:40 +04:00
capostrophic
62fd2d47a5
Rewrite flickering/pulsing to work more like vanilla (bug #4952 )
2019-08-11 20:33:13 +03:00
capostrophic
c0d5cbdc8b
Add support for QuadraticMethod/LinearMethod setup (bug #4965 )
2019-08-10 13:25:49 +03:00
Andrei Kortunov
8557346fbd
Use glow for enchanted arrows (feature #5122 )
2019-08-07 12:58:14 +04:00
Capostrophic
6622e36226
Only merge pure osg::Groups in the optimizer
2019-06-09 11:47:43 +03:00
Alexei Dobrohotov
1444ef6f43
Merge pull request #2298 from akortunov/optimize
...
Do not allocate eight dummy LightStateAttribute's for every stateset
2019-05-11 02:32:34 +03:00
Capostrophic
05d94d35f9
Make disabled shadow defines map static
2019-04-29 19:31:46 +03:00
Capostrophic
85e99182ce
Revise light source configuration (bug #4965 )
...
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
2019-04-10 22:31:31 +03:00
bzzt
1a65adacdd
Do not allocate dummy LightStateAttribute's for every stateset
2019-03-30 21:36:08 +04:00
Andrei Kortunov
b466bfee40
Enable light sources directly to avoid virtual calls
2019-03-21 10:27:50 +04:00
Andrei Kortunov
b2fca46206
Fix a couple of minor issues in shadows
2019-03-19 09:14:07 +04:00
Capostrophic
de572226e4
Update optimizer with upstream improvements
2019-03-17 07:59:16 +03:00
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
...
Do not allocate empty callbacks in the RigGeometry
2019-03-14 14:53:35 +01:00
bzzt
4ab93aeffe
Do not allocate empty callbacks in the RigGeometry
2019-03-14 12:37:41 +04:00
elsid
8e09468f45
Don't set display list usage for navmesh
2019-03-12 00:05:55 +03:00
elsid
4395a92c35
Use display list to render navmesh
...
Slightly improves performance of massive navmesh rendering.
2019-03-10 23:58:49 +03:00
Andrei Kortunov
bacaa1f789
Get rid of C-style limits in the shadows code
2019-03-09 13:52:03 +04:00
Bret Curtis
551563cbfb
Merge branch 'clsb-warning' into 'master'
...
Hopefully fix Clang warning about hiding overloaded virtual functions
See merge request OpenMW/openmw!82
2019-03-08 08:50:03 +00:00
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
...
This class is also defined in OpenSceneGraph at global namespace.
2019-03-07 23:49:23 +03:00
AnyOldName3
d34724a3c4
Hopefully fix Clang warning about hiding overloaded virtual functions
2019-03-07 20:46:10 +00:00
Grigory Latyshev
3872d7476b
Move makeOsgVec3f() to settingsutils.hpp
...
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
bzzt
8c649f05e6
Don't reallocate light list vector unnecessarily
2019-02-27 00:12:14 +03:00
bzzt
a567111400
Use emplace instead of find-assign
2019-02-27 00:10:34 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
...
Shadows
2019-02-20 15:35:49 +00:00
AnyOldName3
0c8ad0a3bb
Double buffer debug HUD frustum geometries to prevent race conditions.
2019-02-19 18:13:03 +00:00
Bret Curtis
f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
...
Native glowing windows support
2019-02-04 14:50:13 +01:00
Andrei Kortunov
60c9806d62
Share RigGeometry node data
2019-02-03 13:09:49 +04:00
Andrei Kortunov
9e4a339ad3
Daytime node switch support (feature #4836 )
2019-02-02 10:50:15 +04:00
AnyOldName3
15547750ba
Correct behaviour of use front face culling setting to not use back face culling either when disabled.
2019-02-01 00:29:13 +00:00
AnyOldName3
cfe921fb82
Remove uneeded includes.
2019-01-31 20:12:42 +00:00
AnyOldName3
2761a38562
Prettify shadow define map setup.
2019-01-31 20:12:17 +00:00
AnyOldName3
57e10e26b2
Make variable name less confusing
2019-01-31 14:58:57 +00:00
AnyOldName3
a24b8ec3d2
Fix enable/disable mixup.
2019-01-31 14:57:56 +00:00
AnyOldName3
556c9a3382
Add normal-offset shadow mapping to remove shadow acne (flicker)
2019-01-30 22:28:00 +00:00
Andrei Kortunov
03b71d3c30
Improve switchable nodes handling by optimizer
2019-01-27 15:19:48 +04:00
AnyOldName3
8482236a82
Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm
2019-01-24 23:09:23 +00:00
AnyOldName3
d82c85913a
Don't bother multiplying a matrix by its inverse and applying that to the light direction.
...
Hopefully this will improve numerical stability and reduce shadow flicker a little.
2019-01-24 23:07:38 +00:00
AnyOldName3
4438ab4493
Use CullVisitor traversal mask for light manager.
2019-01-24 22:42:23 +00:00
Andrei Kortunov
2c38e337ae
Support NiSwitchNode (feature #4812 )
2019-01-23 21:01:54 +04:00
Andrei Kortunov
8e6fd348d1
RigGeometry optimization: optimize geometry optimization
2019-01-09 21:01:33 +04:00
Andrei Kortunov
254f01b89d
RigGeometry optimization: vector iteration is more cheap than map iteration
2019-01-09 11:52:11 +04:00
Ilya Zhuravlev
07e9ce84b3
Replace volatile bools with std::atomic<bool>
2018-12-24 14:19:35 -05:00
AnyOldName3
199e6ed82d
Revert "Use forward declaration to reduce build times."
...
This reverts commit 305b9826df
.
2018-12-19 23:53:14 +00:00
AnyOldName3
305b9826df
Use forward declaration to reduce build times.
2018-12-19 16:23:32 +00:00
AnyOldName3
7b108ae9a2
Disable depth sorting for translucent objects in the shadow maps
2018-12-19 01:45:05 +00:00
AnyOldName3
53188f61fc
Fix animation bug with VAOs
2018-12-18 19:44:30 +00:00
Bret Curtis
fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO"
2018-12-13 20:09:46 +01:00
AnyOldName3
2d5da1a6fa
Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal.
2018-12-08 20:39:41 +00:00
mp3butcher
7a85e10d2f
fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO
2018-12-02 23:36:27 +01:00
AnyOldName3
0a409c0ab8
Make shadow map front-face culling configurable
2018-12-01 00:26:43 +00:00
AnyOldName3
dd207d9e54
Make the shadow polygon offset parameters configurable
2018-11-30 00:55:54 +00:00
AnyOldName3
aa11832949
Resolve bugs with depth-clamped shadow maps
2018-11-29 01:17:58 +00:00
AnyOldName3
7ad4882f0c
Fix debug hud frustum outline disappearence
2018-11-21 23:45:47 +00:00
AnyOldName3
061fa57335
Switch to better-performing data types for debug hud geometry
2018-11-21 22:38:50 +00:00
AnyOldName3
632b0d8979
Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows.
2018-11-20 23:02:28 +00:00
AnyOldName3
660e423e99
Correct debug hud frustum colour
2018-11-20 23:01:04 +00:00
AnyOldName3
3785ba6aa0
Merge upstream/master
2018-10-30 22:38:09 +00:00
AnyOldName3
1ca7ea23d1
Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly.
2018-10-30 17:07:11 +00:00
AnyOldName3
b0907f8929
Add todos in case they're left until after the shadow PR is merged
2018-10-18 16:01:36 +01:00
AnyOldName3
474770eca8
Switch shadow map rendering to a specialised, simplified shader.
2018-10-16 21:23:31 +01:00
elsid
dc09674362
Add command and settings option to enable actors paths render
2018-10-13 22:16:32 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
...
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
AnyOldName3
0124be5713
Merge upstream/master
2018-10-10 21:23:19 +01:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
87394f2ebb
Revert "Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437 )"
...
This reverts commit 09427d3f5e
since the
fix is not entirely correct.
2018-09-29 16:21:40 +04:00
Kyle Cooley
6bece13a32
Use new Log class for error message
2018-09-27 13:14:59 +04:00
Kyle Cooley
e2ac392a40
Move common stuff to scene util, fix errors with 1st person meshes
2018-09-27 13:14:59 +04:00
Kyle Cooley
8444ee9981
Start rendering npc's
2018-09-27 13:14:59 +04:00
Andrei Kortunov
09427d3f5e
Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437 )
2018-09-16 14:38:58 +04:00
Marc Zinnschlag
24ce8cce72
Merged pull request #1898
2018-08-29 12:04:52 +02:00
Andrei Kortunov
0ddd0e4edc
Fix light flicker amplitude calculation
2018-08-28 14:57:11 +04:00
Andrei Kortunov
c677f7ca27
Rework pulsing light sources (bug #4615 )
2018-08-28 14:57:08 +04:00
Marc Zinnschlag
232ea4f793
Merged pull request #1887
2018-08-27 12:52:30 +02:00
Sophie Kirschner
c412f99963
Remove commented lines in UnrefWorkItem::doWork
2018-08-26 11:08:06 +03:00
Andrei Kortunov
ff241fb787
Optimize skinning (task #4605 )
2018-08-25 20:45:59 +04:00
Sophie Kirschner
4dd9386c4f
Fix error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
...
Fixes compile error encountered on OSX 10.9 with g++
sophie:build pineapple$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
The compilation error:
[ 24%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/mwrender/renderingmanager.cpp.o
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.cpp:1:
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.hpp:4:
/Users/pineapple/git/openmw/openmw-deps/include/osg/ref_ptr:35:36: error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
~ref_ptr() { if (_ptr) _ptr->unref(); _ptr = 0; }
^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:14:11: note: in instantiation of member function
'osg::ref_ptr<SceneUtil::UnrefWorkItem>::~ref_ptr' requested here
class UnrefQueue : public osg::Referenced
^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:10:11: note: forward declaration of 'SceneUtil::UnrefWorkItem'
class UnrefWorkItem;
2018-08-24 16:41:52 +03:00
AnyOldName3
db707a31ec
Add clipping planes when allow shadow map overlap is enabled
2018-08-23 13:14:02 +01:00
AnyOldName3
15e820825f
Fix another convex hull clipping issue and restore z-clipping
2018-08-21 14:00:29 +01:00
AnyOldName3
80082308f0
Merge upstream (shadermanager log system revamp)
2018-08-17 18:22:13 +01:00
AnyOldName3
dd501f4132
Make ConvexHull::clip more resilient against large values.
2018-08-17 17:47:52 +01:00
AnyOldName3
987306feb9
Fix ConvexHull::extendTowardsNegativeZ
2018-08-16 23:48:19 +01:00
Andrei Kortunov
1452684d9e
Use new logging system for components
2018-08-14 19:42:41 +04:00
AnyOldName3
3b3721897d
Make indoor shadows disableable.
2018-08-08 23:56:11 +01:00
AnyOldName3
6286f5a1d4
Ensure RigGeometry child geometries have sensible bounds without actually computing them.
2018-08-08 23:24:57 +01:00
AnyOldName3
71778e2552
Disable convex hull clipping based on render leaf traverser results in the z direction.
2018-07-31 23:42:44 +01:00
AnyOldName3
02ab3b466a
Use simplified convex hull clipping maths from the other function doing hte same thing
2018-07-31 23:30:15 +01:00
AnyOldName3
85aba2e1da
Add toggleable shadow debug overlay.
2018-06-28 17:24:36 +01:00
AnyOldName3
ed68db5ef9
Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were.
2018-06-19 23:48:59 +01:00
AnyOldName3
f5b144ef77
Improve bounds calculation for shadow casters outside of the viewing frustum
2018-06-12 17:04:56 +01:00
AnyOldName3
50fdd0be99
Resolve computed near plane issues with extremely high viewing distances.
2018-05-29 00:52:43 +01:00
AnyOldName3
2c30bc1b4f
Accidentally fix the one remaing case where shadows look awful while refactoring some stuff.
2018-05-18 22:39:57 +01:00
AnyOldName3
9f0a49c303
Disable CSM when disabled in the settings.
2018-05-17 20:27:10 +01:00
AnyOldName3
84284a60a7
Make CSM shader changes controllable by the setting.
2018-05-17 17:35:55 +01:00
AnyOldName3
5d05aadb37
Begin to let settings toggle between CSM and PSSM
2018-05-17 16:57:01 +01:00
AnyOldName3
7255c266ba
Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps
2018-05-16 21:21:05 +01:00
AnyOldName3
fc1aee10f4
Remove function declaration that somehow snuck in.
2018-05-16 21:20:17 +01:00
AnyOldName3
1b30d47d7f
Add a hacky temporary version of cascading shadow maps
2018-05-13 12:56:40 +01:00
AnyOldName3
44b2cf2b7f
Merge upstream.
2018-05-11 19:15:04 +01:00
AnyOldName3
166e7df778
Improve debug HUD frustum
2018-05-11 19:08:42 +01:00
AnyOldName3
4547151863
Add the view frustum to the debug HUD (in the most annoying way possible)
2018-05-05 00:08:00 +01:00
scrawl
6c79c0fb35
Add an empty compileGLObjects implementation to Rig/MorphGeometry to avoid unnecessary creation of display list done by osg
2018-04-18 12:36:08 +00:00
elsid
14daadded7
Add virtual destructors
...
To fix warnings:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:588:8: warning: delete called on non-final 'NifOsg::ControllerFunction' that has virtual functions but non-virtual destructor
[-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<NifOsg::ControllerFunction,
__gnu_cxx::_S_atomic>::__shared_ptr<NifOsg::ControllerFunction, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
/home/elsid/dev/openmw/components/nifosg/nifloader.cpp:242:39: note: in instantiation of function template specialization 'std::shared_ptr<NifOsg::ControllerFunction>::shared_ptr<NifOsg::ControllerFunction, void>' requested here
callback->setFunction(std::shared_ptr<NifOsg::ControllerFunction>(new NifOsg::ControllerFunction(key)));
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:78:2: warning: delete called on non-final 'MWGui::ResponseCallback' that has virtual functions but non-virtual destructor
[-Wdelete-non-virtual-dtor]
delete __ptr;
^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:268:4: note: in instantiation of member function 'std::default_delete<MWGui::ResponseCallback>::operator()' requested here
get_deleter()(__ptr);
^
/home/elsid/dev/openmw/apps/openmw/mwgui/dialogue.cpp:58:23: note: in instantiation of member function 'std::unique_ptr<MWGui::ResponseCallback, std::default_delete<MWGui::ResponseCallback> >::~unique_ptr' requested here
PersuasionDialog::PersuasionDialog(ResponseCallback* callback)
^
2018-04-01 21:51:59 +03:00
AnyOldName3
e885612bd7
Make a dynamic cast static
2018-03-03 02:05:46 +00:00
AnyOldName3
b553b58de5
Fix another compiler warning
2018-03-03 02:03:16 +00:00
AnyOldName3
3bed2a7b01
Fix some copiler warnings (hopefully)
2018-03-03 02:01:03 +00:00
AnyOldName3
fc41902798
Replace a dynamic cast with string comarison
2018-03-01 14:37:11 +00:00
AnyOldName3
bc4b4c66e4
(Hopefully) add include which G++ requires even though VC++ doesn't.
2018-02-27 16:54:48 +00:00
AnyOldName3
d1a2955fa1
Merge upstream
2018-02-27 14:29:14 +00:00
AnyOldName3
66a114d6ec
Fix a couple of warnings
2018-02-27 14:15:06 +00:00
AnyOldName3
f9cf1ac94b
Separate indoor and outdoor shadow casting masks.
2018-02-27 00:13:51 +00:00
AnyOldName3
35eb71052e
Tidy up the shadow manager
2018-02-26 23:52:46 +00:00
AnyOldName3
882b63cba9
Make split point control parameters configurable with the new shadow technique.
2018-02-26 23:00:46 +00:00
AnyOldName3
e233dae1cd
Hook up the new shadow technique
2018-02-26 22:27:09 +00:00
AnyOldName3
97b607fc66
Make whitespace match upstream OSG
2018-02-26 21:10:06 +00:00
AnyOldName3
99db93510c
Undo minor cockup where the same file appeared twice
2018-02-26 21:09:29 +00:00
AnyOldName3
639a4f5e8c
Remove TODO left in by accident. Also, become 100 commits ahead of upstream.
2018-02-26 20:52:19 +00:00
AnyOldName3
478367bef3
Ensure the debug HUD won't crash if settings are changed at runtime.
2018-02-26 20:50:54 +00:00
AnyOldName3
7b52091a82
Make the debug hud enableable
2018-02-26 20:36:43 +00:00
AnyOldName3
5d719e9d5f
Add the debug HUD to the new shadow technique
2018-02-26 20:20:01 +00:00
AnyOldName3
76f23c28b1
Make shadows disableable.
2018-02-26 16:25:44 +00:00
AnyOldName3
0f1e770c53
Transfer changes to cull to new shadow technique
2018-02-26 15:51:22 +00:00
AnyOldName3
4c31b38f77
Move CLSB changes to new shadow technique
2018-02-26 14:58:12 +00:00
AnyOldName3
06b2ce6646
Fix alignment issues caused by renaming classes
2018-02-26 14:34:14 +00:00
AnyOldName3
02d0ee3485
Rename old shadow class to shadow manager
2018-02-26 14:29:31 +00:00
AnyOldName3
ce02c83089
Copy debug shader source into new shadow technique
2018-02-26 14:27:47 +00:00
AnyOldName3
7bd4c5e4b3
Change class name
2018-02-24 00:57:58 +00:00
AnyOldName3
c815366044
Move to the correct namespace part 2
2018-02-24 00:55:24 +00:00
AnyOldName3
11e59d3c11
Move to the correct namespace.
2018-02-24 00:52:46 +00:00
AnyOldName3
324b398d29
Add a notice clarifying the source of the shadow technique files.
2018-02-24 00:15:54 +00:00
AnyOldName3
7467248555
Undo a modification from the upstream shadow technique which breaks compatibiltiy with OSG 3.4
2018-02-24 00:14:29 +00:00
AnyOldName3
273914aba8
Add osgShadow ViewDependentShadowMaps as they can be found in OSG's GitHub Repository
2018-02-24 00:13:05 +00:00
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
scrawl
25a6a67508
Fix the optimizer messing up LOD node's children ( Fixes #4301 )
2018-01-29 19:44:12 +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 b9931fb71c
This reverts commit a1e3fb7604
.
2017-08-31 21:40:35 +00:00
scrawl
a1e3fb7604
Revert "Check for a Geometry node when attaching bodyparts"
...
This reverts commit 3fc8634206
.
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 8f71b65d38
(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 330e5fefd1
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
scrawl
f7cb4bd245
optimizer: remove some cruft
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
305cccd263
Don't print Geometry data (vertices, triangles, etc.) in showscenegraph
2017-02-23 23:28:50 +01:00
scrawl
c231b06320
Remove boneOffset node after using it
2017-02-23 23:28:50 +01:00
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
2017-02-22 14:28:45 +01:00
scrawl
4aa40d16bc
Increase the importance of light radius when sorting lights (Bug #2759 )
2017-02-21 04:32:59 +01:00
scrawl
67e4a7e37b
Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead
2017-02-09 04:51:20 +01:00
scrawl
839928e210
Fix light data being reset for the wrong light
2017-02-09 02:46:30 +01:00
scrawl
a46593fa74
Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread
2017-02-09 01:08:07 +01:00
scrawl
c00532d82d
Add LightStateCache to avoid redundantly setting the same gl_Light
...
Normally, osg::State would do this for us (via lastAppliedAttribute), but since we're using a custom StateAttribute to apply all lights at once, we have to track ourselves.
Further reduction of GL calls in a typical scene by ~2%
2017-02-07 23:37:57 +01:00
scrawl
4d4dc1b9c1
Add specialized DisableLight state attribute for more efficient undoing of light state
...
Seems to reduce # of GL calls by 10-15% in a typical scene.
2017-02-07 23:01:36 +01:00
scrawl
a1069dce3c
Change UnrefQueue to accept osg::Referenced instead of osg::Object
2017-02-04 02:24:42 +01:00