Evil Eye 
								
							 
						 
						
							
							
							
							
								
							
							
								a9106f4d7c 
								
							 
						 
						
							
							
								
								Rotate torches by 90 degrees  
							
							
							
						 
						
							2021-11-02 18:01:22 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b9911da4c7 
								
							 
						 
						
							
							
								
								applies lightMask ( #3201 )  
							
							... 
							
							
							
							With this PR we apply `lightMask` to a `Transform` node we create specifically for a light. This mask will allow us to stop traversing such nodes sooner and avoid costly processing associated with `Transform` nodes in the cull visitor. 
							
						 
						
							2021-10-31 13:03:42 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								356e9d7cf0 
								
							 
						 
						
							
							
								
								refactors osg::Callback virtual inheritance ( #3200 )  
							
							... 
							
							
							
							With this PR we refactor `SceneUtil::KeyframeController` not to require `virtual osg::Callback` inheritance. I suppose such `virtual` overhead is not justified here because it negatively impacts many other classes we derive from `osg::Callback`. 
							
						 
						
							2021-10-30 22:43:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ac02753da7 
								
							 
						 
						
							
							
								
								Merge pull request  #3190  from akortunov/master  
							
							... 
							
							
							
							Fix showscenegraph warnings 
							
						 
						
							2021-10-25 12:59:36 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7f9beac3a7 
								
							 
						 
						
							
							
								
								refactors a case insensitive map ( #3184 )  
							
							... 
							
							
							
							This PR aims to spark the retirement of a questionable pattern I have found all over our code base. I will illustrate how this pattern encourages code duplication, lacks type safety, requires documentation and can be prone to bugs.
```
std::map<std::string, Object> mMap; // Stored in all lowercase for a case-insensitive lookup
std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.emplace(lowerKey, object);
std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.find(lowerKey);
mMap.find(key); // Not found. Oops!
```
An alternative approach produces no such issues.
```
std::unordered_map<std::string, Object, Misc::StringUtils::CiHash, Misc::StringUtils::CiEqual> mMap;
mMap.emplace(key, object);
mMap.find(key);
```
Of course, such an alternative will work for a `map` as well, but an `unordered_map` is generally preferable over a `map` with these changes because we have moved `lowerCase` into the comparison operator. 
In this PR I have refactored `Animation::mNodeMap` accordingly. I have reviewed and adapted all direct and indirect usage of `Animation::mNodeMap` to ensure we do not change behaviour with this PR. 
							
						 
						
							2021-10-25 09:18:26 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								566380c0d6 
								
							 
						 
						
							
							
								
								Fix showscenegraph warnings  
							
							
							
						 
						
							2021-10-24 12:37:49 +04: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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a854a6e04a 
								
							 
						 
						
							
							
								
								removes UnrefQueue ( #3181 )  
							
							... 
							
							
							
							Currently, we use an `UnrefQueue` which supposedly aims to transfer destruction costs to another thread. The implications of this unusual pattern can not be well understood because some allocators might free resources more efficiently if they are freed by the same thread that allocated them. In addition, `UnrefQueue` complicates the validation of thread safety in our engine. Lastly, our current usage of `UnrefQueue` triggers `ref()`, `unref()` atomic operations as objects are passed into the queue. These operations could be more expensive than the actual destruction.
With this PR we thus remove `UnrefQueue`. We can expect these changes to have a minor impact at most because we free most resources elsewhere in `ResourceSystem::updateCache`. 
							
						 
						
							2021-10-20 23:02:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								562590720b 
								
							 
						 
						
							
							
								
								Remove ShadowsBin prototype on MWShadowTechnique destruction  
							
							... 
							
							
							
							To prevent crash:
==7733==ERROR: AddressSanitizer: heap-use-after-free on address 0x6040000ca1b0 at pc 0x55fcfa8d1ee3 bp 0x7ffd1c464e00 sp 0x7ffd1c464df0
READ of size 4 at 0x6040000ca1b0 thread T0
    #0  0x55fcfa8d1ee2 in std::less<unsigned int>::operator()(unsigned int const&, unsigned int const&) const /usr/include/c++/11.1.0/bits/stl_function.h:386
    #1  0x55fcfa8d1ee2 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*, std::_Rb_tree_node_base*, unsigned int const&) /usr/include/c++/11.1.0/bits/stl_tree.h:1903
    #2  0x55fcfa8ca76e in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::lower_bound(unsigned int const&) /usr/include/c++/11.1.0/bits/stl_tree.h:1270
    #3  0x55fcfa8ca76e in std::map<unsigned int, osg::ref_ptr<osg::ContextData>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::lower_bound(unsigned int const&) /usr/include/c++/11.1.0/bits/stl_map.h:1259
    #4  0x55fcfa8ca76e in std::map<unsigned int, osg::ref_ptr<osg::ContextData>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::operator[](unsigned int const&) /usr/include/c++/11.1.0/bits/stl_map.h:497
    #5  0x55fcfa8ca76e in osg::getOrCreateContextData(unsigned int) /home/elsid/dev/OpenSceneGraph/src/osg/ContextData.cpp:142
    #6  0x55fcfab6848a in GLShaderManager* osg::get<GLShaderManager>(unsigned int) /home/elsid/dev/OpenSceneGraph/include/osg/ContextData:154
    #7  0x55fcfab6848a in osg::Shader::PerContextShader::~PerContextShader() /home/elsid/dev/OpenSceneGraph/src/osg/Shader.cpp:540
    #8  0x55fcfab68dc6 in osg::Shader::PerContextShader::~PerContextShader() /home/elsid/dev/OpenSceneGraph/src/osg/Shader.cpp:541
    #9  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #10  0x55fcfab6d0ce in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/include/osg/Referenced:201
    #11  0x55fcfab6d0ce in osg::ref_ptr<osg::Shader::PerContextShader>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/include/osg/ref_ptr:44
    #12  0x55fcfab6d0ce in void std::_Destroy<osg::ref_ptr<osg::Shader::PerContextShader> >(osg::ref_ptr<osg::Shader::PerContextShader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:140
    #13  0x55fcfab6d0ce in void std::_Destroy_aux<false>::__destroy<osg::ref_ptr<osg::Shader::PerContextShader>*>(osg::ref_ptr<osg::Shader::PerContextShader>*, osg::ref_ptr<osg::Shader::PerContextShader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:152
    #14  0x55fcfab6d0ce in void std::_Destroy<osg::ref_ptr<osg::Shader::PerContextShader>*>(osg::ref_ptr<osg::Shader::PerContextShader>*, osg::ref_ptr<osg::Shader::PerContextShader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:185
    #15  0x55fcfab6d0ce in void std::_Destroy<osg::ref_ptr<osg::Shader::PerContextShader>*, osg::ref_ptr<osg::Shader::PerContextShader> >(osg::ref_ptr<osg::Shader::PerContextShader>*, osg::ref_ptr<osg::Shader::PerContextShader>*, std::allocator<osg::ref_ptr<osg::Shader::PerContextShader> >&) /usr/include/c++/11.1.0/bits/alloc_traits.h:746
    #16  0x55fcfab6d0ce in std::vector<osg::ref_ptr<osg::Shader::PerContextShader>, std::allocator<osg::ref_ptr<osg::Shader::PerContextShader> > >::~vector() /usr/include/c++/11.1.0/bits/stl_vector.h:680
    #17  0x55fcfab6d0ce in osg::Shader::ShaderObjects::~ShaderObjects() /home/elsid/dev/OpenSceneGraph/include/osg/Shader:264
    #18  0x55fcfab6d0ce in osg::Shader::ShaderObjects::~ShaderObjects() /home/elsid/dev/OpenSceneGraph/include/osg/Shader:264
    #19  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #20  0x55fcfab6c532 in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/include/osg/Referenced:201
    #21  0x55fcfab6c532 in osg::ref_ptr<osg::Shader::ShaderObjects>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/include/osg/ref_ptr:44
    #22  0x55fcfab6c532 in void std::_Destroy<osg::ref_ptr<osg::Shader::ShaderObjects> >(osg::ref_ptr<osg::Shader::ShaderObjects>*) /usr/include/c++/11.1.0/bits/stl_construct.h:140
    #23  0x55fcfab6c532 in void std::_Destroy_aux<false>::__destroy<osg::ref_ptr<osg::Shader::ShaderObjects>*>(osg::ref_ptr<osg::Shader::ShaderObjects>*, osg::ref_ptr<osg::Shader::ShaderObjects>*) /usr/include/c++/11.1.0/bits/stl_construct.h:152
    #24  0x55fcfab6c532 in void std::_Destroy<osg::ref_ptr<osg::Shader::ShaderObjects>*>(osg::ref_ptr<osg::Shader::ShaderObjects>*, osg::ref_ptr<osg::Shader::ShaderObjects>*) /usr/include/c++/11.1.0/bits/stl_construct.h:185
    #25  0x55fcfab6c532 in void std::_Destroy<osg::ref_ptr<osg::Shader::ShaderObjects>*, osg::ref_ptr<osg::Shader::ShaderObjects> >(osg::ref_ptr<osg::Shader::ShaderObjects>*, osg::ref_ptr<osg::Shader::ShaderObjects>*, std::allocator<osg::ref_ptr<osg::Shader::ShaderObjects> >&) /usr/include/c++/11.1.0/bits/alloc_traits.h:746
    #26  0x55fcfab6c532 in std::vector<osg::ref_ptr<osg::Shader::ShaderObjects>, std::allocator<osg::ref_ptr<osg::Shader::ShaderObjects> > >::~vector() /usr/include/c++/11.1.0/bits/stl_vector.h:680
    #27  0x55fcfab6c532 in osg::buffered_value<osg::ref_ptr<osg::Shader::ShaderObjects> >::~buffered_value() /home/elsid/dev/OpenSceneGraph/include/osg/buffered_value:26
    #28  0x55fcfab6c532 in osg::Shader::~Shader() /home/elsid/dev/OpenSceneGraph/src/osg/Shader.cpp:271
    #29  0x55fcfab6c80a in osg::Shader::~Shader() /home/elsid/dev/OpenSceneGraph/src/osg/Shader.cpp:271
    #30  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #31  0x55fcfab185bd in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/include/osg/Referenced:201
    #32  0x55fcfab185bd in osg::ref_ptr<osg::Shader>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/include/osg/ref_ptr:44
    #33  0x55fcfab185bd in void std::_Destroy<osg::ref_ptr<osg::Shader> >(osg::ref_ptr<osg::Shader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:140
    #34  0x55fcfab185bd in void std::_Destroy_aux<false>::__destroy<osg::ref_ptr<osg::Shader>*>(osg::ref_ptr<osg::Shader>*, osg::ref_ptr<osg::Shader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:152
    #35  0x55fcfab185bd in void std::_Destroy<osg::ref_ptr<osg::Shader>*>(osg::ref_ptr<osg::Shader>*, osg::ref_ptr<osg::Shader>*) /usr/include/c++/11.1.0/bits/stl_construct.h:185
    #36  0x55fcfab185bd in void std::_Destroy<osg::ref_ptr<osg::Shader>*, osg::ref_ptr<osg::Shader> >(osg::ref_ptr<osg::Shader>*, osg::ref_ptr<osg::Shader>*, std::allocator<osg::ref_ptr<osg::Shader> >&) /usr/include/c++/11.1.0/bits/alloc_traits.h:746
    #37  0x55fcfab185bd in std::vector<osg::ref_ptr<osg::Shader>, std::allocator<osg::ref_ptr<osg::Shader> > >::~vector() /usr/include/c++/11.1.0/bits/stl_vector.h:680
    #38  0x55fcfab185bd in osg::Program::~Program() /home/elsid/dev/OpenSceneGraph/src/osg/Program.cpp:147
    #39  0x55fcfab18ae0 in osg::Program::~Program() /home/elsid/dev/OpenSceneGraph/src/osg/Program.cpp:147
    #40  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #41  0x55fcf8582cfa in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/build/gcc/asan/install/include/osg/Referenced:201
    #42  0x55fcf8582cfa in osg::ref_ptr<osg::StateAttribute>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/build/gcc/asan/install/include/osg/ref_ptr:44
    #43  0x55fcf8582cfa in std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int>::~pair() /usr/include/c++/11.1.0/bits/stl_pair.h:211
    #44  0x55fcf8582cfa in std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >::~pair() /usr/include/c++/11.1.0/bits/stl_pair.h:211
    #45  0x55fcf8582cfa in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::destroy<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >(std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >*) /usr/include/c++/11.1.0/ext/new_allocator.h:162
    #46  0x55fcf8582cfa in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > > >::destroy<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >(std::allocator<std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >&, std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >*) /usr/include/c++/11.1.0/bits/alloc_traits.h:531
    #47  0x55fcf8582cfa in std::_Rb_tree<std::pair<osg::StateAttribute::Type, unsigned int>, std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >, std::_Select1st<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >, std::less<std::pair<osg::StateAttribute::Type, unsigned int> >, std::allocator<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:623
    #48  0x55fcf8582cfa in std::_Rb_tree<std::pair<osg::StateAttribute::Type, unsigned int>, std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >, std::_Select1st<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >, std::less<std::pair<osg::StateAttribute::Type, unsigned int> >, std::allocator<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:631
    #49  0x55fcf8582cfa in std::_Rb_tree<std::pair<osg::StateAttribute::Type, unsigned int>, std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >, std::_Select1st<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >, std::less<std::pair<osg::StateAttribute::Type, unsigned int> >, std::allocator<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:1889
    #50  0x55fcfac1f281 in std::_Rb_tree<std::pair<osg::StateAttribute::Type, unsigned int>, std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> >, std::_Select1st<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > >, std::less<std::pair<osg::StateAttribute::Type, unsigned int> >, std::allocator<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::clear() /usr/include/c++/11.1.0/bits/stl_tree.h:1254
    #51  0x55fcfac1f281 in std::map<std::pair<osg::StateAttribute::Type, unsigned int>, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int>, std::less<std::pair<osg::StateAttribute::Type, unsigned int> >, std::allocator<std::pair<std::pair<osg::StateAttribute::Type, unsigned int> const, std::pair<osg::ref_ptr<osg::StateAttribute>, unsigned int> > > >::clear() /usr/include/c++/11.1.0/bits/stl_map.h:1134
    #52  0x55fcfac1f281 in osg::StateSet::clear() /home/elsid/dev/OpenSceneGraph/src/osg/StateSet.cpp:738
    #53  0x55fcfac2079e in osg::StateSet::~StateSet() /home/elsid/dev/OpenSceneGraph/src/osg/StateSet.cpp:285
    #54  0x55fcfac20d3e in osg::StateSet::~StateSet() /home/elsid/dev/OpenSceneGraph/src/osg/StateSet.cpp:286
    #55  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #56  0x55fcfb20dcac in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/build/gcc/asan/install/include/osg/Referenced:201
    #57  0x55fcfb20dcac in osg::ref_ptr<osg::StateSet>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/build/gcc/asan/install/include/osg/ref_ptr:44
    #58  0x55fcfb20dcac in std::array<osg::ref_ptr<osg::StateSet>, 8ul>::~array() /usr/include/c++/11.1.0/array:95
    #59  0x55fcfb20dcac in SceneUtil::ShadowsBin::~ShadowsBin() /home/elsid/dev/openmw/components/sceneutil/shadowsbin.hpp:16
    #60  0x55fcfb20dcac in SceneUtil::ShadowsBin::~ShadowsBin() /home/elsid/dev/openmw/components/sceneutil/shadowsbin.hpp:16
    #61  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #62  0x55fcfa6cc17f in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/include/osg/Referenced:201
    #63  0x55fcfa6cc17f in osg::ref_ptr<osgUtil::RenderBin>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/include/osg/ref_ptr:44
    #64  0x55fcfa6cc17f in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >::~pair() /usr/include/c++/11.1.0/bits/stl_pair.h:211
    #65  0x55fcfa6cc17f in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >*) /usr/include/c++/11.1.0/ext/new_allocator.h:162
    #66  0x55fcfa6cc17f in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >*) /usr/include/c++/11.1.0/bits/alloc_traits.h:531
    #67  0x55fcfa6cc17f in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:623
    #68  0x55fcfa6cc17f in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:631
    #69  0x55fcfa6cc17f in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:1889
    #70  0x55fcfa6cc122 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:1887
    #71  0x55fcfa6cc122 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:1887
    #72  0x55fcfa6cc245 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::~_Rb_tree() /usr/include/c++/11.1.0/bits/stl_tree.h:984
    #73  0x55fcfa6cc245 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgUtil::RenderBin>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, osg::ref_ptr<osgUtil::RenderBin> > > >::~map() /usr/include/c++/11.1.0/bits/stl_map.h:302
    #74  0x55fcfa6cc245 in RenderBinPrototypeList::~RenderBinPrototypeList() /home/elsid/dev/OpenSceneGraph/src/osgUtil/RenderBin.cpp:48
    #75  0x55fcfa6cc245 in RenderBinPrototypeList::~RenderBinPrototypeList() /home/elsid/dev/OpenSceneGraph/src/osgUtil/RenderBin.cpp:48
    #76  0x55fcfab4a3f3 in osg::Referenced::signalObserversAndDelete(bool, bool) const /home/elsid/dev/OpenSceneGraph/src/osg/Referenced.cpp:292
    #77  0x55fcfa6cbcc1 in osg::Referenced::unref() const /home/elsid/dev/OpenSceneGraph/include/osg/Referenced:201
    #78  0x55fcfa6cbcc1 in osg::ref_ptr<RenderBinPrototypeList>::~ref_ptr() /home/elsid/dev/OpenSceneGraph/include/osg/ref_ptr:44
    #79  0x7f3977bd04a6 in __run_exit_handlers (/usr/lib/libc.so.6+0x3f4a6)
    #80  0x7f3977bd064d in exit (/usr/lib/libc.so.6+0x3f64d)
    #81  0x7f3977bb8b2b in __libc_start_main (/usr/lib/libc.so.6+0x27b2b)
    #82  0x55fcf81ea12d in _start (/home/elsid/dev/openmw/build/gcc/asan/openmw+0xa4412d)
0x6040000ca1b0 is located 32 bytes inside of 48-byte region [0x6040000ca190,0x6040000ca1c0)
freed by thread T0 here:
    #0  0x7f397a633d69 in operator delete(void*, unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:172
    #1  0x55fcfa8d1824 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::deallocate(std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*, unsigned long) /usr/include/c++/11.1.0/ext/new_allocator.h:139
    #2  0x55fcfa8d1824 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >&, std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*, unsigned long) /usr/include/c++/11.1.0/bits/alloc_traits.h:492
    #3  0x55fcfa8d1824 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_put_node(std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:565
    #4  0x55fcfa8d1824 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:632
    #5  0x55fcfa8d1824 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >*) /usr/include/c++/11.1.0/bits/stl_tree.h:1889
    #6  0x55fcfa8d18da in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::~_Rb_tree() /usr/include/c++/11.1.0/bits/stl_tree.h:984
    #7  0x55fcfa8d18da in std::map<unsigned int, osg::ref_ptr<osg::ContextData>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::~map() /usr/include/c++/11.1.0/bits/stl_map.h:302
    #8  0x7f3977bd04a6 in __run_exit_handlers (/usr/lib/libc.so.6+0x3f4a6)
previously allocated by thread T0 here:
    #0  0x7f397a632ca1 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1  0x55fcfa8d3aa1 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::allocate(unsigned long, void const*) /usr/include/c++/11.1.0/ext/new_allocator.h:121
    #2  0x55fcfa8d3aa1 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >&, unsigned long) /usr/include/c++/11.1.0/bits/alloc_traits.h:460
    #3  0x55fcfa8d3aa1 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_get_node() /usr/include/c++/11.1.0/bits/stl_tree.h:561
    #4  0x55fcfa8d3aa1 in std::_Rb_tree_node<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >* std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<unsigned int const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<unsigned int const&>&&, std::tuple<>&&) /usr/include/c++/11.1.0/bits/stl_tree.h:611
    #5  0x55fcfa8d3aa1 in std::_Rb_tree_iterator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > std::_Rb_tree<unsigned int, std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> >, std::_Select1st<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > >, std::piecewise_construct_t const&, std::tuple<unsigned int const&>&&, std::tuple<>&&) /usr/include/c++/11.1.0/bits/stl_tree.h:2429
    #6  0x55fcfa8cfd91 in std::map<unsigned int, osg::ref_ptr<osg::ContextData>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, osg::ref_ptr<osg::ContextData> > > >::operator[](unsigned int const&) /usr/include/c++/11.1.0/bits/stl_map.h:501
    #7  0x55fcfa8cfd91 in osg::ContextData::createNewContextID() /home/elsid/dev/OpenSceneGraph/src/osg/ContextData.cpp:171
    #8  0x55fcfa9be218 in osg::GraphicsContext::createNewContextID() /home/elsid/dev/OpenSceneGraph/src/osg/GraphicsContext.cpp:320
    #9  0x55fcfb68d1ef in SDLUtil::GraphicsWindowSDL2::GraphicsWindowSDL2(osg::GraphicsContext::Traits*) /home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:39
    #10  0x55fcfa17f93a in OMW::Engine::createWindow(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:611
    #11  0x55fcfa18398f in OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:679
    #12  0x55fcfa18c4f2 in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:949
    #13  0x55fcfa13c9ff in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:316
    #14  0x55fcfb49f562 in wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:205
    #15  0x55fcfa133114 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:328
    #16  0x7f3977bb8b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
SUMMARY: AddressSanitizer: heap-use-after-free /usr/include/c++/11.1.0/bits/stl_function.h:386 in std::less<unsigned int>::operator()(unsigned int const&, unsigned int const&) const
Shadow bytes around the buggy address:
  0x0c08800113e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c08800113f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011410: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011420: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c0880011430: fa fa fd fd fd fd[fd]fd fa fa fa fa fa fa fa fa
  0x0c0880011440: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011470: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0880011480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==7733==ABORTING 
							
						 
						
							2021-10-20 13:26:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								590a340e6e 
								
							 
						 
						
							
							
								
								Remove redundant ShadowsBin::sCastingPrograms  
							
							... 
							
							
							
							This variable is only used in ShadowsBin constructor and it's initialized each
time before constructor call so required value can be just passed into
ShadowsBin ctor.
Make ShadowsBin default constructor private because it is required by osg even
it's not actually called. 
							
						 
						
							2021-10-20 13:25:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9d1b7c4a30 
								
							 
						 
						
							
							
								
								Use type alias to avoid long type names and length redefinition for array  
							
							
							
						 
						
							2021-10-20 13:25:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6cfabe252d 
								
							 
						 
						
							
							
								
								Remove redundant ShadowsBinAdder  
							
							
							
						 
						
							2021-10-20 13:25:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Church 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								42bd10f356 
								
							 
						 
						
							
							
								
								Fix FTBFS against older versions of osg  
							
							... 
							
							
							
							Bring back osg version guard.
Drawable::dirtyGLObjects wasn't available until OpenSceneGraph-3.5.10. 
							
						 
						
							2021-10-13 13:55:16 -05:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b0132be53f 
								
							 
						 
						
							
							
								
								do not dirty unchanged arrays ( #3164 )  
							
							... 
							
							
							
							This PR proposes a simple change to `RigGeometry` `dirtyGLObjects` logic.
1. We will avoid dirtying unmodified arrays.
2. We can drop an osg version guard since `Drawable::dirtyGLObjects` is not nearly as harmful as `Geometry::dirtyGLObjects`.
3. We will avoid crashes in an as yet unfinished future PR concerning `Array` sharing improvements. 
							
						 
						
							2021-10-12 13:47:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								93848ef01c 
								
							 
						 
						
							
							
								
								avoids virtual function calls in ComputeLightSpaceBounds ( #3167 )  
							
							... 
							
							
							
							osg::NodeVisitor is designed to recursively call virtual apply signatures until we find an implemented signature. Encountered nodes that we do not explicitely handle will trigger additional virtual function calls. With this PR we avoid these additional virtual function calls in the particularly costly ComputeLightSpaceBounds by adding some explicit signatures. 
							
						 
						
							2021-10-11 15:11:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								98f8295765 
								
							 
						 
						
							
							
								
								allows to skip ComputeLightSpaceBounds traversal ( #3152 )  
							
							... 
							
							
							
							Currently, we always traverse the scene graph an additional time with a ComputeLightSpaceBounds visitor during shadow casting. ComputeLightSpaceBounds is only useful when the shadow casting mask allows us to shrink the bounds of the rendered scene, so we guard its traversal with a check against getCastsShadowTraversalMask. In practice, this guard never works because we build the traversal mask inclusively.
With this PR we limit the getCastsShadowTraversalMask check to relevant masks. This new check allows us to skip a superfluous ComputeLightSpaceBounds traversal with most settings. 
							
						 
						
							2021-10-11 11:27:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								f9124ccea6 
								
							 
						 
						
							
							
								
								Merge branch 'recast_mesh_slope' into 'master'  
							
							... 
							
							
							
							Use different colors for walkable and non-walkable recast mesh triangles
See merge request OpenMW/openmw!1277  
							
						 
						
							2021-10-11 08:56:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c2d836c6c4 
								
							 
						 
						
							
							
								
								optimises riggeometry.cpp ( #3165 )  
							
							... 
							
							
							
							We skip this during node path iterations. this is not a node we are interested in.
We avoid allocating a new mGeomToSkelMatrix per frame and avoid a ref_ptr associated with its update.
We speed up a search for the Skeleton node by adding a continue; condition prior to an expensive dynamic_cast. 
							
						 
						
							2021-10-10 18:37:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								031871cd48 
								
							 
						 
						
							
							
								
								speeds up optimizer ( #3162 )  
							
							... 
							
							
							
							We can expect marginally improved loading times with this PR. Drawable, Transform and Node counts in stats panels are expected to remain unchanged - this PR does not add new scene graph optimisations, it just increases the speed with which we apply existing ones.
1. We add explicit `NodeVisitor::apply` overrides for commonly encountered node types to avoid additional virtual function calls per node associated with the default `apply` implementation.
2. We skip pushing `StateSet`s when  `_mergeAlphaBlending` is enabled or the `StateSet` contains no relevant state.
3. We add a specialised variant of `CollectLowestTransformsVisitor::addTransform` accepting `MatrixTransform` to avoid matrix copies and multiplications. 
							
						 
						
							2021-10-10 18:09:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								daff7aba01 
								
							 
						 
						
							
							
								
								Use different colors for walkable and non-walkable triangles  
							
							
							
						 
						
							2021-10-09 17:44:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b61140b8ba 
								
							 
						 
						
							
							
								
								optimises skeleton.cpp ( #3158 )  
							
							... 
							
							
							
							With this PR we optimise a function that is called quite often when loading new cells.
We remove avoidable dynamic_casts.
We remove an unused pair.second element.
We convert a map to an unordered_map because its ordering is irrelevant in this case.
We avoid adding the root Skeleton node to the bones' node path. 
							
						 
						
							2021-10-09 11:14:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5242e2695c 
								
							 
						 
						
							
							
								
								avoids memory allocations within ComputeLightSpaceBounds ( #3156 )  
							
							... 
							
							
							
							Currently, we create a new ComputeLightSpaceBounds visitor per frame. Within this visitor, we require excessive memory allocations, mainly a new osg::RefMatrix per encountered Transform node.
With this PR we reuse a single ComputeLightSpaceBounds visitor across frames and enable the createOrReuseMatrix functionality to avoid allocating new matrices every frame. osgUtil::CullVisitor internally uses the same approach. 
							
						 
						
							2021-10-08 09:56:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								08608da62c 
								
							 
						 
						
							
							
								
								optimizer.cpp  
							
							
							
						 
						
							2021-10-07 08:29:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cd4d76f8c5 
								
							 
						 
						
							
							
								
								discard off-screen lights ( #3120 )  
							
							... 
							
							
							
							Currently, we run culling tests against all lights in the scene during LightListCallback::pushLightState. We can avoid most of these tests by removing off-screen lights at an earlier stage. We should benchmark the cumulative time spent within LightListCallback::pushLightState before and after this PR. 
							
						 
						
							2021-10-06 11:53:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
							
							
								
							
							
								787f91211d 
								
							 
						 
						
							
							
								
								resets state updater to apply light settings ( #3141 )  
							
							... 
							
							
							
							resets state updater to apply light settings
With this PR we achieve the same effect with fewer lines of code. 
							
						 
						
							2021-10-06 11:21:30 +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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								14d15dcfac 
								
							 
						 
						
							
							
								
								cleans up osgacontroller.cpp ( #3142 )  
							
							... 
							
							
							
							`handle_stateset` is not needed because `UpdateMatrixTransform` is a `NodeCallback` only allowed to be set on a `Node`. `Geode` and `Drawable` do not need explicit logic because they are both derived from `Node`. 
							
						 
						
							2021-10-04 12:20:33 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aaf7b423d6 
								
							 
						 
						
							
							
								
								adds a replacement for osg::NodeCallback ( #3144 )  
							
							... 
							
							
							
							* nodecallback.hpp
* lightmanager.hpp
* lightmanager.cpp
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* [ci skip]
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* lightmanager.cpp
* lightmanager.cpp
* nodecallback.hpp
* [ci skip]
* [ci skip]
* controller.cpp
* [ci skip]
* osgacontroller.cpp
* keyframe.hpp
* controller.hpp
* keyframe.hpp
* [ci skip]
* keyframe.hpp
* animation.hpp
* [ci skip]
* weaponanimation.cpp
* nodecallback.hpp 
							
						 
						
							2021-10-04 10:56:55 +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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fc2076db1a 
								
							 
						 
						
							
							
								
								Fix MSVC warnings about local variables redeclaration ( #3130 )  
							
							
							
						 
						
							2021-09-29 09:36:05 +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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								8d86d90782 
								
							 
						 
						
							
							
								
								remove whitespace  
							
							
							
						 
						
							2021-09-18 22:00:26 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								179f91276a 
								
							 
						 
						
							
							
								
								lightmanager.cpp ( #3121 )  
							
							
							
						 
						
							2021-09-18 18:21:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								52a9b4d989 
								
							 
						 
						
							
							
								
								shadowsbin.cpp uniform  
							
							
							
						 
						
							2021-09-12 09:21:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								01a8998e3b 
								
							 
						 
						
							
							
								
								return if source is null in mergeUserData  
							
							
							
						 
						
							2021-09-10 14:04:11 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								afba1884ab 
								
							 
						 
						
							
							
								
								clone.cpp remove dynamic_cast ( #3097 )  
							
							
							
						 
						
							2021-09-09 23:04:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								147ed39900 
								
							 
						 
						
							
							
								
								This PR solves a crash with Robert's bodies logged on your bugtracker. ( #3095 )  
							
							... 
							
							
							
							* attach.cpp [ci skip]
* attach.cpp [ci skip]
* attach.cpp [ci skip]
* npcanimation.cpp [ci skip]
* attach.hpp [ci skip]
* attach.cpp [ci skip]
* creatureanimation.cpp [ci skip]
* creatureanimation.cpp [ci skip]
* cellpreloader.cpp
* npcanimation.cpp
* attach.cpp
* make android adk happy
* make android adk happy
* changelog.md [ci skip]
* authors.md [ci skip] 
							
						 
						
							2021-09-09 22:56:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								ac3fda0b3d 
								
							 
						 
						
							
							
								
								Merge branch 'string_view' into 'master'  
							
							... 
							
							
							
							Pass std::string_view instead of const std::string&
See merge request OpenMW/openmw!1209  
							
						 
						
							2021-09-09 20:41:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6b7434ca69 
								
							 
						 
						
							
							
								
								Pass std::string_view instead of const std::string&  
							
							... 
							
							
							
							* Starting with Actor::getBodyPartMesh and ending with
  Misc::StringUtils::ciEqual.
* Add tests for Misc::StringUtils::ciEqual. 
							
						 
						
							2021-09-09 18:39:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bo Svensson 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d36c373cc7 
								
							 
						 
						
							
							
								
								visitor.cpp early out  
							
							
							
						 
						
							2021-09-08 17:23:35 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								d63eb3325f 
								
							 
						 
						
							
							
								
								fix coverity warning and build on some osg  
							
							
							
						 
						
							2021-08-17 17:45:50 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									jvoisin 
								
							 
						 
						
							
							
							
							
								
							
							
								5793f5cf18 
								
							 
						 
						
							
							
								
								Sprinkle a couple of std::move and a const  
							
							
							
						 
						
							2021-08-16 13:11:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
							
							
								
							
							
								b49f51cbfc 
								
							 
						 
						
							
							
								
								Serialize NifOsg::MatrixTransform children properly  
							
							
							
						 
						
							2021-08-12 18:33:06 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								8ad3d3d792 
								
							 
						 
						
							
							
								
								Merge branch 'freezeandcool' into 'master'  
							
							... 
							
							
							
							Don't use FreezeOnCull for any particle system (#4744 )
Closes  #4744 
See merge request OpenMW/openmw!1103  
							
						 
						
							2021-08-08 12:35:26 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
							
							
								
							
							
								1fc7cb8191 
								
							 
						 
						
							
							
								
								Don't use FreezeOnCull for any particle system ( #4744 )  
							
							
							
						 
						
							2021-08-08 03:36:35 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fa1fb2a6b5 
								
							 
						 
						
							
							
								
								Reset mIsReleased before starting threads  
							
							... 
							
							
							
							To fix TSAN warning:
WARNING: ThreadSanitizer: data race (pid=68597)
  Write of size 1 at 0x7b3800079234 by main thread:
    #0  SceneUtil::WorkQueue::start(unsigned long) /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:51 (openmw+0x10daa10)
    #1  SceneUtil::WorkQueue::WorkQueue(unsigned long) /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:39 (openmw+0x10dad97)
    #2  OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:700 (openmw+0xf7cb5a)
    #3  OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:949 (openmw+0xf82688)
    #4  runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:316 (openmw+0xf62611)
    #5  wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:205 (openmw+0x125df1c)
    #6  main /home/elsid/dev/openmw/apps/openmw/main.cpp:328 (openmw+0x596323)
  Previous read of size 1 at 0x7b3800079234 by thread T10 (mutexes: write M19275778865205896):
    #0  SceneUtil::WorkQueue::removeWorkItem() /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:86 (openmw+0x10d9e51)
    #1  SceneUtil::WorkThread::run() /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:127 (openmw+0x10da52a)
    #2  operator() /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:114 (openmw+0x10da664)
    #3  __invoke_impl<void, SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:61 (openmw+0x10da664)
    #4  __invoke<SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::<lambda()> > /usr/include/c++/11.1.0/bits/invoke.h:96 (openmw+0x10da664)
    #5  _M_invoke<0> /usr/include/c++/11.1.0/bits/std_thread.h:253 (openmw+0x10da664)
    #6  operator() /usr/include/c++/11.1.0/bits/std_thread.h:260 (openmw+0x10da664)
    #7  _M_run /usr/include/c++/11.1.0/bits/std_thread.h:211 (openmw+0x10da664)
    #8  execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
  Location is heap block of size 216 at 0x7b3800079220 allocated by main thread:
    #0  operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
    #1  OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:700 (openmw+0xf7cb4c)
    #2  OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:949 (openmw+0xf82688)
    #3  runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:316 (openmw+0xf62611)
    #4  wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:205 (openmw+0x125df1c)
    #5  main /home/elsid/dev/openmw/apps/openmw/main.cpp:328 (openmw+0x596323)
  Mutex M19275778865205896 is already destroyed.
  Thread T10 (tid=68609, running) created by main thread at:
    #0  pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
    #1  std:🧵 :_M_start_thread(std::unique_ptr<std:🧵 :_State, std::default_delete<std:🧵 :_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
    #2  std::_MakeUniq<SceneUtil::WorkThread>::__single_object std::make_unique<SceneUtil::WorkThread, SceneUtil::WorkQueue&>(SceneUtil::WorkQueue&) /usr/include/c++/11.1.0/bits/unique_ptr.h:962 (openmw+0x10da987)
    #3  SceneUtil::WorkQueue::start(unsigned long) /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:50 (openmw+0x10da987)
    #4  SceneUtil::WorkQueue::WorkQueue(unsigned long) /home/elsid/dev/openmw/components/sceneutil/workqueue.cpp:39 (openmw+0x10dad97)
    #5  OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:700 (openmw+0xf7cb5a)
    #6  OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:949 (openmw+0xf82688)
    #7  runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:316 (openmw+0xf62611)
    #8  wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:205 (openmw+0x125df1c)
    #9  main /home/elsid/dev/openmw/apps/openmw/main.cpp:328 (openmw+0x596323) 
							
						 
						
							2021-08-08 02:28:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								cdf5b315c3 
								
							 
						 
						
							
							
								
								fix mac runner undefined macro  
							
							
							
						 
						
							2021-08-05 16:52:40 -07: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 
								
							 
						 
						
							
							
							
							
								
							
							
								b457dfd8b8 
								
							 
						 
						
							
							
								
								fix water RTTs and minor math error in non-infinite projection matrix  
							
							
							
						 
						
							2021-08-04 17:39:11 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								70fac33940 
								
							 
						 
						
							
							
								
								initial reverse-z depth implementation  
							
							
							
						 
						
							2021-08-04 17:39:11 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								1e52ca2b64 
								
							 
						 
						
							
							
								
								properly initialize light settings  
							
							
							
						 
						
							2021-08-01 23:46:45 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								8c36eb56cf 
								
							 
						 
						
							
							
								
								Merge branch 'stereo_friendly_water' into 'master'  
							
							... 
							
							
							
							Stereo friendly water and statesetupdater
See merge request OpenMW/openmw!563  
							
						 
						
							2021-07-30 11:00:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									madsbuvi 
								
							 
						 
						
							
							
							
							
								
							
							
								41c08b1c3b 
								
							 
						 
						
							
							
								
								Stereo friendly StateSetUpdater  
							
							... 
							
							
							
							(cherry picked from commit 496b3aef88b8fd867dcdd23a6ca43144573b1b2f)
Stereo friendly water
(cherry picked from commit 0e22c55e48a7f965367d3d430c1bef5357b22748)
Option to disable per view mapping.
Include memory header
De-hardcode settings and buffers.
formatting error
Update water.cpp (whitespace)
Update water.cpp (more whitespace)
include render order
c array -> c++ array 
							
						 
						
							2021-07-26 14:01:02 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9a5ec5fd03 
								
							 
						 
						
							
							
								
								Store heightfields as array of heights instead of triangles  
							
							... 
							
							
							
							To reduce size of RecastMesh and therefore cache size. 
							
						 
						
							2021-07-26 00:22:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d60edb36aa 
								
							 
						 
						
							
							
								
								Make RecastMesh independent from recast scale factor  
							
							... 
							
							
							
							To avoid scaling until it's required by delaying coordinates conversion until
navmesh generation. 
							
						 
						
							2021-07-26 00:22:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								af7059373c 
								
							 
						 
						
							
							
								
								Make RecastMesh independent from the order of RecastMeshBuilder calls  
							
							... 
							
							
							
							To make sure RecastMesh objects are equal if built with the same data but in
different order. Will be used later when there will be more than one place
building RecasMesh objects. 
							
						 
						
							2021-07-26 00:22:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d4a2dab9d9 
								
							 
						 
						
							
							
								
								Remove redundant else  
							
							
							
						 
						
							2021-07-12 11:41:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								eece47f70e 
								
							 
						 
						
							
							
								
								Avoid copying osg::ref_ptr when adding or removing item from work queue  
							
							... 
							
							
							
							Copy constructor does refcounting, and move constructor doesn't. 
							
						 
						
							2021-07-12 11:41:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b8fcd6d3ba 
								
							 
						 
						
							
							
								
								Manage work item lifetime on the client side  
							
							... 
							
							
							
							Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.
After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.
CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game. 
							
						 
						
							2021-07-12 11:41:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5103120eef 
								
							 
						 
						
							
							
								
								Notify about saved screenshot  
							
							... 
							
							
							
							Show message about saved screenshot via schedule message box. Since screenshot
saving happens not in the main thread calling messageBox directly is unsafe.
WindowManager::scheduleMessageBox delays message box showing until next update
in the main thread. 
							
						 
						
							2021-07-08 21:14:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f7a6be053d 
								
							 
						 
						
							
							
								
								Stop engine work queue before destructing environment  
							
							... 
							
							
							
							To avoid access to null and dangling pointers from active work items on
quitting. 
							
						 
						
							2021-07-08 21:14:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f8e02000ec 
								
							 
						 
						
							
							
								
								Write screenshots to file asynchronously  
							
							
							
						 
						
							2021-07-08 21:13:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								33aa4d0822 
								
							 
						 
						
							
							
								
								Move WriteScreenshotToFileOperation to components  
							
							
							
						 
						
							2021-07-08 20:27:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								84a9facedf 
								
							 
						 
						
							
							
								
								Disable coverage adjustment for blended objects  
							
							
							
						 
						
							2021-07-04 23:29:22 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Evil Eye 
								
							 
						 
						
							
							
							
							
								
							
							
								2be27da791 
								
							 
						 
						
							
							
								
								Merge branch 'const_refs' into 'master'  
							
							... 
							
							
							
							Add a ton of const refs
See merge request OpenMW/openmw!954  
							
						 
						
							2021-06-24 18:57:41 +00: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 
								
							 
						 
						
							
							
							
							
								
							
							
								895864099c 
								
							 
						 
						
							
							
								
								Simplify NodeMapVisitor::apply  
							
							... 
							
							
							
							No need to run a find() before a std::replace 
							
						 
						
							2021-06-23 23:29:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									jvoisin 
								
							 
						 
						
							
							
							
							
								
							
							
								1123dc46ee 
								
							 
						 
						
							
							
								
								Add a ton of const refs  
							
							
							
						 
						
							2021-06-23 23:13:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								868a5b35e3 
								
							 
						 
						
							
							
								
								workaround shadow issue on macOS,  https://gitlab.com/OpenMW/openmw/-/issues/6057  
							
							
							
						 
						
							2021-06-12 00:10:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									jvoisin 
								
							 
						 
						
							
							
							
							
								
							
							
								7f4f2c042e 
								
							 
						 
						
							
							
								
								Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)  
							
							... 
							
							
							
							GL_FLOAT is an enum, with the value 0x1406, while GLFloat is the actual type.
Source: https://www.khronos.org/opengl/wiki/OpenGL_Type  
							
						 
						
							2021-06-04 23:21:26 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d4f28ac979 
								
							 
						 
						
							
							
								
								Avoid resetting buffer object when configuring light buffer layout  
							
							... 
							
							
							
							Otherwise this casues RaceSelectionPreview to have no light until first change. 
							
						 
						
							2021-05-28 10:46:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								11c57978b6 
								
							 
						 
						
							
							
								
								Fix crashes on exit in the LightManager (bug  #6044 )  
							
							
							
						 
						
							2021-05-17 13:01:15 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								c54ef55ebb 
								
							 
						 
						
							
							
								
								Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"  
							
							... 
							
							
							
							This reverts commit 5373cf1cd5 
							
						 
						
							2021-05-17 12:40:55 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d520b440aa 
								
							 
						 
						
							
							
								
								Copy LightBuffer data into a new object when changing layout  
							
							... 
							
							
							
							Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.
Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object. 
							
						 
						
							2021-05-16 22:37:31 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5373cf1cd5 
								
							 
						 
						
							
							
								
								Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing  
							
							... 
							
							
							
							When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV. 
							
						 
						
							2021-05-15 15:23:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								2e8873af51 
								
							 
						 
						
							
							
								
								Add new scene nodes to scene graph serializer blacklist  
							
							
							
						 
						
							2021-05-07 19:27:23 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									jvoisin 
								
							 
						 
						
							
							
							
							
								
							
							
								d45184a730 
								
							 
						 
						
							
							
								
								Sprinkle some const-ref to avoid unnecessary copies  
							
							
							
						 
						
							2021-05-02 14:43:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Chris Djali 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f0cef87cd8 
								
							 
						 
						
							
							
								
								Merge pull request  #3069  from akortunov/msvc_warnings  
							
							... 
							
							
							
							Rework warnings settings 
							
						 
						
							2021-05-01 19:03:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								18a4c81b5c 
								
							 
						 
						
							
							
								
								Merge branch 'fix_toggleborders' into 'master'  
							
							... 
							
							
							
							Fix ToggleBorders debug view with 'Shaders' lighting method
See merge request OpenMW/openmw!792  
							
						 
						
							2021-04-30 08:35:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								ceb6a280ff 
								
							 
						 
						
							
							
								
								Fix typo  
							
							... 
							
							
							
							Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it. 
							
						 
						
							2021-04-29 21:35:31 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								9f314d1d6f 
								
							 
						 
						
							
							
								
								Fix ToggleBorders  
							
							
							
						 
						
							2021-04-29 12:11:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								6d351b2bdd 
								
							 
						 
						
							
							
								
								Fix MSVC 4706 warnings  
							
							
							
						 
						
							2021-04-23 22:53:59 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								50d6cd2a34 
								
							 
						 
						
							
							
								
								Merge pull request  #3070  from akortunov/coverity  
							
							... 
							
							
							
							Fix an another portion of Coverity warnings 
							
						 
						
							2021-04-20 07:33:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c6c92b5712 
								
							 
						 
						
							
							
								
								Merge pull request  #3071  from akortunov/master  
							
							... 
							
							
							
							Fix an another batch of MSVC complaints 
							
						 
						
							2021-04-20 07:31:56 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								ff46eceabe 
								
							 
						 
						
							
							
								
								Merge branch 'maybe-reintroduce-5904' into 'master'  
							
							... 
							
							
							
							Fix crash on startup
See merge request OpenMW/openmw!709  
							
						 
						
							2021-04-19 19:31:21 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								d10399e083 
								
							 
						 
						
							
							
								
								Cast double constant to float explicitely  
							
							
							
						 
						
							2021-04-19 17:08:03 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								7d5c5f8a24 
								
							 
						 
						
							
							
								
								Do not assign negative values to unsigned variables  
							
							
							
						 
						
							2021-04-19 16:08:19 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								987b231fdd 
								
							 
						 
						
							
							
								
								Fix an another portion of Coverity warnings  
							
							
							
						 
						
							2021-04-18 07:09:44 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								d0883f9a0d 
								
							 
						 
						
							
							
								
								Merge branch 'light_settings_tweak' into 'master'  
							
							... 
							
							
							
							Lighting patch
Closes  #5957  and #5959 
See merge request OpenMW/openmw!752  
							
						 
						
							2021-04-16 19:47:26 +00: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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								0c7ddd3938 
								
							 
						 
						
							
							
								
								Remove redundant qualifiers  
							
							
							
						 
						
							2021-04-14 09:02:20 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								bce6effe95 
								
							 
						 
						
							
							
								
								Fix uninitialized variables in the LightManager  
							
							
							
						 
						
							2021-04-14 08:20:23 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								531a6e1979 
								
							 
						 
						
							
							
								
								Code review fixes, remove implicit GLSL casts  
							
							
							
						 
						
							2021-04-13 11:09:54 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								92033bca64 
								
							 
						 
						
							
							
								
								Fixed error in calculating viewspace sun dir, minor cleanup  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								9e80091aff 
								
							 
						 
						
							
							
								
								clear up force shaders and make it less convoluted  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								8ce65232ff 
								
							 
						 
						
							
							
								
								fix race condition with sun uniform  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								d4e7d25d14 
								
							 
						 
						
							
							
								
								Make life not suck for whoever wants to edit lighting shaders  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								eecb9886a9 
								
							 
						 
						
							
							
								
								Shader cleanup, fix indicies  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								4ba473b684 
								
							 
						 
						
							
							
								
								Finalize settings, torch fix  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								71c30a31df 
								
							 
						 
						
							
							
								
								in-game settings, some require restart  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								3d713e8602 
								
							 
						 
						
							
							
								
								Fix incorrect minimum ambient  
							
							
							
						 
						
							2021-04-13 11:09:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								280fd2b162 
								
							 
						 
						
							
							
								
								Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up  
							
							
							
						 
						
							2021-04-13 11:09:35 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								d195602a9d 
								
							 
						 
						
							
							
								
								Switch to shared layout, some rewording  
							
							
							
						 
						
							2021-04-13 11:09:35 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								690995988b 
								
							 
						 
						
							
							
								
								More formatting, OpenCS cells are unbroken  
							
							
							
						 
						
							2021-04-13 11:09:35 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								328ec85757 
								
							 
						 
						
							
							
								
								Code review cleanup, add setting documentation  
							
							
							
						 
						
							2021-04-13 11:09:35 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									glassmancody.info 
								
							 
						 
						
							
							
							
							
								
							
							
								05a5cee132 
								
							 
						 
						
							
							
								
								Brighter point lights and light fade  
							
							
							
						 
						
							2021-04-13 11:09:35 -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 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								168f26fc80 
								
							 
						 
						
							
							
								
								Fix crash on startup  
							
							
							
						 
						
							2021-04-04 15:29:08 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								c6033b4de6 
								
							 
						 
						
							
							
								
								Fix   #5904  
							
							
							
						 
						
							2021-03-29 21:00:28 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								0431ba4c87 
								
							 
						 
						
							
							
								
								Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling  
							
							
							
						 
						
							2021-03-13 01:23:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								46a1715d8a 
								
							 
						 
						
							
							
								
								Actually return something  
							
							
							
						 
						
							2021-02-26 20:10:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								f5a87ee46d 
								
							 
						 
						
							
							
								
								Refactor out duplicated RTT setup code  
							
							
							
						 
						
							2021-02-26 19:01:27 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								153ab57ae3 
								
							 
						 
						
							
							
								
								Make assignment in while loop condition obviously intentional  
							
							
							
						 
						
							2021-02-24 17:45:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								4f510d85ba 
								
							 
						 
						
							
							
								
								Merge remote-tracking branch 'upstream/master' into alpha-meddling  
							
							
							
						 
						
							2021-02-14 22:42:55 +00: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 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								3e273a759a 
								
							 
						 
						
							
							
								
								Clarify method name now we're using it differently  
							
							
							
						 
						
							2021-02-06 16:41:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								bae27e8199 
								
							 
						 
						
							
							
								
								dynamic_cast to static_cast  
							
							
							
						 
						
							2021-02-02 21:52:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								b28d8251aa 
								
							 
						 
						
							
							
								
								Clone animation tracks  
							
							
							
						 
						
							2021-02-02 21:52:08 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								1221889cf7 
								
							 
						 
						
							
							
								
								Limit conversion of underscores to nodes origating from osgAnimation  library  
							
							
							
						 
						
							2021-02-02 21:41:17 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								7d3f2bc113 
								
							 
						 
						
							
							
								
								Convert underscores in bone names to whitespaces  
							
							
							
						 
						
							2021-02-02 17:33:40 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									madsbuvi 
								
							 
						 
						
							
							
							
							
								
							
							
								7edaa50195 
								
							 
						 
						
							
							
								
								another approach  
							
							
							
						 
						
							2021-01-31 18:02:05 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								3194520dcd 
								
							 
						 
						
							
							
								
								Move base_anim settings to settings-default.cfg  
							
							
							
						 
						
							2021-01-27 13:41:02 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								f175beb304 
								
							 
						 
						
							
							
								
								Define template ref classes in components  
							
							
							
						 
						
							2021-01-13 14:25:21 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								801e2d6ad0 
								
							 
						 
						
							
							
								
								Avoid to use uninitialized variables  
							
							
							
						 
						
							2021-01-09 13:36:40 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								4ed3252001 
								
							 
						 
						
							
							
								
								Check for EXT_gpu_shader4 CPU-side  
							
							... 
							
							
							
							Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present. 
							
						 
						
							2021-01-07 18:13:51 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								8f4b856b44 
								
							 
						 
						
							
							
								
								Initial A2C implementation  
							
							
							
						 
						
							2020-12-26 22:45:53 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								11b4af49ce 
								
							 
						 
						
							
							
								
								Allow shadowsbin to optimise clockwise-wound meshes when face culling is off  
							
							
							
						 
						
							2020-12-23 01:24:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								a36ed5f129 
								
							 
						 
						
							
							
								
								Optimise out redundant call  
							
							... 
							
							
							
							We already had the results 
							
						 
						
							2020-12-23 00:23:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								657da50d99 
								
							 
						 
						
							
							
								
								Ensure GL_BLEND is disabled when drawing shadow maps  
							
							
							
						 
						
							2020-12-20 01:36:34 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								cc2ce9fa3e 
								
							 
						 
						
							
							
								
								Explicitly default-construct array  
							
							... 
							
							
							
							The docs seem to imply this is automatic when the array contains a
class-type, which osg::ref_ptr is, but I got a crash log that doesn't
make sense if that's true. 
							
						 
						
							2020-12-19 21:57:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								0b5d5eab4c 
								
							 
						 
						
							
							
								
								Move is faster  
							
							
							
						 
						
							2020-12-18 02:11:51 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								05ad44d0b1 
								
							 
						 
						
							
							
								
								Set correct array size  
							
							
							
						 
						
							2020-12-18 01:44:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								ce2bcba5d4 
								
							 
						 
						
							
							
								
								Replace deprecated alpha test in shader visitor  
							
							
							
						 
						
							2020-12-17 14:57:43 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								8b2bf12e8f 
								
							 
						 
						
							
							
								
								Use bip01 for root bone name  
							
							
							
						 
						
							2020-12-15 13:51:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								6c1f6169c0 
								
							 
						 
						
							
							
								
								Fix root movement glitch  
							
							
							
						 
						
							2020-12-15 13:50:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Nelsson Huotari 
								
							 
						 
						
							
							
							
							
								
							
							
								256aa5e71d 
								
							 
						 
						
							
							
								
								Use const auto&  
							
							
							
						 
						
							2020-12-12 22:23:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								5ad297e6ff 
								
							 
						 
						
							
							
								
								Guarantee glow updater regenerates shaders on completion  
							
							... 
							
							
							
							Previously, it would edit the odd numbered stateset, then regenerate
shaders for the even-numbered one, then edit the even numbered one, and
regenerate shaders for the odd numbered one (or vice versa if it
finished during an even numbered frame). This would leave one of the
shader programs still trying to use the state that had been removed. 
							
						 
						
							2020-12-03 18:41:32 +00: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 
								
							 
						 
						
							
							
							
							
								
							
							
								3232faa703 
								
							 
						 
						
							
							
								
								Use const ref instead of value  
							
							
							
						 
						
							2020-11-20 19:41:01 +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 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								37661bffea 
								
							 
						 
						
							
							
								
								Merge branch 'shadowdisable-fix' into 'master'  
							
							... 
							
							
							
							Make disableShadowsForStateSet a no-op when shadows are disabled
See merge request OpenMW/openmw!205  
							
						 
						
							2020-11-18 18:56:36 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								7768556ce6 
								
							 
						 
						
							
							
								
								Set dummy state when disabling shadows indoors  
							
							... 
							
							
							
							As we don't reconfigure all shaders without shadows when we disable them
indoors (as it'd probably add a hitch to transitioning in and out) we
need to set up dummy state so the shaders don't do anything illegal.
This hadn't had symptoms for most objects as when indoors, nearly
everything would be drawn first in one of the water RTTs, which had
dummy state to disable shadows already. This wasn't true of the water
plane itself, though, yet somehow it took until just now for anyone to
report that.
This resolves vtastek's issue where the water would be invisible indoors 
							
						 
						
							2020-11-16 21:01:20 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								1e0df23d14 
								
							 
						 
						
							
							
								
								Merge branch 'shadows-bin' into 'master'  
							
							... 
							
							
							
							Use a custom renderbin to avoid pointless OpenGL state switches
See merge request OpenMW/openmw!402  
							
						 
						
							2020-11-13 16:29:41 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								fcfd340c69 
								
							 
						 
						
							
							
								
								Actually copy alpha blended drawables to the new stategraph  
							
							
							
						 
						
							2020-11-12 23:23:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								55f65752fd 
								
							 
						 
						
							
							
								
								Don't bind unnecessary colour buffer when drawing shadow maps  
							
							
							
						 
						
							2020-11-12 17:55:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								cdbf19a508 
								
							 
						 
						
							
							
								
								Tidy up run-on lines  
							
							
							
						 
						
							2020-11-12 17:04:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								296dce470a 
								
							 
						 
						
							
							
								
								Spelling fix  
							
							
							
						 
						
							2020-11-12 16:58:29 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								72f7e6a702 
								
							 
						 
						
							
							
								
								Handle all shadow alpha uniforms in shadowsbin  
							
							
							
						 
						
							2020-11-12 00:26:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								5d046bc95d 
								
							 
						 
						
							
							
								
								Mark override  
							
							
							
						 
						
							2020-11-11 14:58:06 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								53f91a3aa5 
								
							 
						 
						
							
							
								
								Merge pull request  #3018  from akortunov/emplace  
							
							... 
							
							
							
							Use emplace_back instead of push_back 
							
						 
						
							2020-11-01 01:58:56 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								449506fef1 
								
							 
						 
						
							
							
								
								Attempt to explain what shadowsbin is doing  
							
							
							
						 
						
							2020-10-31 19:06:20 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
							
							
								
							
							
								4fc5e22e9e 
								
							 
						 
						
							
							
								
								NIF fixes and cleanup  
							
							... 
							
							
							
							Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets 
							
						 
						
							2020-10-26 02:51:25 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								f7dddb8857 
								
							 
						 
						
							
							
								
								Merge branch '3' of  https://gitlab.com/bzzt/openmw  into shadows-bin  
							
							... 
							
							
							
							This won't actually work. 
							
						 
						
							2020-10-23 17:55:15 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								065ed5138e 
								
							 
						 
						
							
							
								
								Use emplace_back instead of push_back  
							
							
							
						 
						
							2020-10-18 10:27:35 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								8ca3c3b123 
								
							 
						 
						
							
							
								
								Mark overrided methods by override keyword  
							
							
							
						 
						
							2020-10-16 22:18:54 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
							
							
								
							
							
								9f08dc9968 
								
							 
						 
						
							
							
								
								Revert "Merge branch 'skinning' into 'master'"  
							
							... 
							
							
							
							This reverts merge request !327  
							
						 
						
							2020-10-08 23:24:28 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexei Dobrohotov 
								
							 
						 
						
							
							
							
							
								
							
							
								6be808e301 
								
							 
						 
						
							
							
								
								RigGeometry: convert some pairs to structs  
							
							
							
						 
						
							2020-10-08 03:05:59 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								fd14dad789 
								
							 
						 
						
							
							
								
								const osg::ref_ptf reference should be faster than value as constructor and destructor are non-trivial  
							
							... 
							
							
							
							I played around in GodBolt and got into an argument to determine this. The difference will be immeasurably small, but my curiosity has been satisfied. 
							
						 
						
							2020-08-20 03:01:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								707204133d 
								
							 
						 
						
							
							
								
								Double-buffer shadow uniforms that change each frame  
							
							
							
						 
						
							2020-08-20 00:38:13 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								ce98d7053b 
								
							 
						 
						
							
							
								
								Double buffer view-dependent data stateset  
							
							
							
						 
						
							2020-08-19 22:55:41 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								98b2d5d921 
								
							 
						 
						
							
							
								
								Make shadow debug HUD thread-safe  
							
							... 
							
							
							
							* Double buffer the frustum uniforms.
* Don't mess with the debug geometry's StateSet.
* Change two-element vectors to arrays so the size is explicit. 
							
						 
						
							2020-08-19 19:29:19 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								215ddb9106 
								
							 
						 
						
							
							
								
								Do not print warnings for VisController  
							
							
							
						 
						
							2020-08-12 11:16:37 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								46825e8a4d 
								
							 
						 
						
							
							
								
								Move NIF record index back to a separate user object  
							
							... 
							
							
							
							This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed. 
							
						 
						
							2020-07-26 09:57:43 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								cc791af0f5 
								
							 
						 
						
							
							
								
								Serialization fixes  
							
							... 
							
							
							
							Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController 
							
						 
						
							2020-07-26 09:57:43 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								3b55d657e5 
								
							 
						 
						
							
							
								
								CopyRigVisitor: Log the number of parents in multiple parents error  
							
							
							
						 
						
							2020-07-26 09:57:43 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								a61267f57d 
								
							 
						 
						
							
							
								
								Replace NodeUserData with a custom transform node  
							
							
							
						 
						
							2020-07-26 09:57:43 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								4c9cefefdd 
								
							 
						 
						
							
							
								
								Get rid of NifOsg::CollisionSwitch  
							
							
							
						 
						
							2020-07-26 09:57:43 +03: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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								ef6fe8d52a 
								
							 
						 
						
							
							
								
								Fix crash in the stateset updater (regression  #5478 )  
							
							
							
						 
						
							2020-06-30 09:01:17 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								40ad87bc4d 
								
							 
						 
						
							
							
								
								Replace OpenThreads by std types  
							
							
							
						 
						
							2020-06-25 22:16:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3251687a3d 
								
							 
						 
						
							
							
								
								Use std types for WorkQueue  
							
							
							
						 
						
							2020-06-24 21:23:31 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								f94ca28dbe 
								
							 
						 
						
							
							
								
								#5463 : Optimizer fix, problem was indeed related to tangents not being transformd properly.  
							
							
							
						 
						
							2020-06-18 17:23:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								66b5cf9f1d 
								
							 
						 
						
							
							
								
								Merge branch 'master' into 'near_far_mode_in_launcher'  
							
							... 
							
							
							
							# Conflicts:
#   files/settings-default.cfg 
							
						 
						
							2020-06-16 23:05:07 +00: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 
								
							 
						 
						
							
							
							
							
								
							
							
								daa2761c2d 
								
							 
						 
						
							
							
								
								alphablending & billboardfix  
							
							... 
							
							
							
							Signed-off-by: Bret Curtis <psi29a@gmail.com> 
							
						 
						
							2020-06-13 00:22:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									bzzt lost a hitlab login 
								
							 
						 
						
							
							
							
							
								
							
							
								f12879a04c 
								
							 
						 
						
							
							
								
								allow statesetupdater as cullcallback = faster + works in paging  
							
							... 
							
							
							
							Signed-off-by: Bret Curtis <psi29a@gmail.com> 
							
						 
						
							2020-06-13 00:22:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									bzzt lost a hitlab login 
								
							 
						 
						
							
							
							
							
								
							
							
								9f0398c021 
								
							 
						 
						
							
							
								
								intersection by refnum tag + enable paging for acti,door,cont  
							
							... 
							
							
							
							Signed-off-by: Bret Curtis <psi29a@gmail.com> 
							
						 
						
							2020-06-13 00:22:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									bzzt lost a hitlab login 
								
							 
						 
						
							
							
							
							
								
							
							
								ce505a9bb3 
								
							 
						 
						
							
							
								
								crashfix + optimiziation  
							
							... 
							
							
							
							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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Icecream95 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f14db21745 
								
							 
						 
						
							
							
								
								Make disableShadowsForStateSet a no-op when shadows are disabled  
							
							... 
							
							
							
							Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled. 
							
						 
						
							2020-05-17 19:52:23 +12:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								78b1bbe130 
								
							 
						 
						
							
							
								
								Remove unnecessary null check  
							
							
							
						 
						
							2020-05-15 10:34:49 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								72e5043eda 
								
							 
						 
						
							
							
								
								CopyRigVisitor fixes  
							
							... 
							
							
							
							Make sure it copies all relevant drawable parent nodes (e.g. including the node with the environment map effect)
Make sure it doesn't copy nodes multiple times 
							
						 
						
							2020-05-15 01:12:06 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								b72720f357 
								
							 
						 
						
							
							
								
								Merge branch 'shadow-transparency-rework' into 'master'  
							
							... 
							
							
							
							Only alpha-test shadows when necessary
See merge request OpenMW/openmw!170  
							
						 
						
							2020-05-08 21:32:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aaa8990006 
								
							 
						 
						
							
							
								
								Merge pull request  #2799  from Capostrophic/simplewaterfog  
							
							... 
							
							
							
							Fix simple water with radial fog enabled 
							
						 
						
							2020-05-08 20:48:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f51476a3c5 
								
							 
						 
						
							
							
								
								Merge pull request  #2816  from Capostrophic/switchlod  
							
							... 
							
							
							
							CollisionSwitch and Switch/LOD node fixes 
							
						 
						
							2020-05-01 23:49:08 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								5f0f2f0f16 
								
							 
						 
						
							
							
								
								rename to better reflect what is going on per AnyOldName3 comment; added none option  
							
							
							
						 
						
							2020-05-01 00:34:31 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bf6daa7269 
								
							 
						 
						
							
							
								
								Merge pull request  #2811  from Capostrophic/emitter  
							
							... 
							
							
							
							Allow particle emitters to be attached to an arbitrary node 
							
						 
						
							2020-04-30 14:56:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								957d2a890f 
								
							 
						 
						
							
							
								
								Ignore empty children of osg::LOD and osg::Switch like in OSG  
							
							
							
						 
						
							2020-04-30 15:04:58 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								63fe02b1ba 
								
							 
						 
						
							
							
								
								CollisionSwitch and Switch/LOD node fixes  
							
							... 
							
							
							
							Properly apply transformations to both switch and LOD nodes
Allow both NiSwitchNode and NiLODNode to be the root node
Properly add CollisionSwitch into the scene graph 
							
						 
						
							2020-04-30 15:04:57 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								bb5fe13e13 
								
							 
						 
						
							
							
								
								Make sure it is either one or the other with the default to bounding volumes.  
							
							
							
						 
						
							2020-04-29 23:06:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								d38c3e971c 
								
							 
						 
						
							
							
								
								remove extra line  
							
							
							
						 
						
							2020-04-29 17:05:08 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								ae729a1ac7 
								
							 
						 
						
							
							
								
								add ability to set the type of near far method to be used in shadow calculation; default to bounding volumes; cleaned up code while there and re-ordered items  
							
							
							
						 
						
							2020-04-29 16:36:48 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								6b874e397b 
								
							 
						 
						
							
							
								
								Make particle system cloning map names more sensible  
							
							
							
						 
						
							2020-04-29 12:25:52 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								f516178ec9 
								
							 
						 
						
							
							
								
								Fix particle processor cloning  
							
							... 
							
							
							
							Extend emitter handling comment in NIF loader 
							
						 
						
							2020-04-29 11:14:22 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								476a74c2d3 
								
							 
						 
						
							
							
								
								Merge branch 'bzzt_5_tight_scene_bound' into 'master'  
							
							... 
							
							
							
							Allow use of OSG's Bounding Volumes
See merge request OpenMW/openmw!189  
							
						 
						
							2020-04-29 07:44:03 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								31a75a962a 
								
							 
						 
						
							
							
								
								Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy  
							
							
							
						 
						
							2020-04-27 11:56:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								ca0adc25bb 
								
							 
						 
						
							
							
								
								add two additional classes we do not need to serialize; less pam during showscenegraph debug dump.  
							
							
							
						 
						
							2020-04-27 11:51:18 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								886b9813ad 
								
							 
						 
						
							
							
								
								Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4  
							
							
							
						 
						
							2020-04-27 11:40:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									bzzt 
								
							 
						 
						
							
							
							
							
								
							
							
								dc33eeadf1 
								
							 
						 
						
							
							
								
								tightscenebound is uncessary after water bbfix  
							
							
							
						 
						
							2020-04-27 08:42:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c59c8ae1f4 
								
							 
						 
						
							
							
								
								Remove unused macro  
							
							
							
						 
						
							2020-04-24 20:38:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Capostrophic 
								
							 
						 
						
							
							
							
							
								
							
							
								688e804548 
								
							 
						 
						
							
							
								
								Fix simple water with radial fog enabled  
							
							
							
						 
						
							2020-04-24 13:52:53 +03:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Bret Curtis 
								
							 
						 
						
							
							
							
							
								
							
							
								8a8107e837 
								
							 
						 
						
							
							
								
								as it says; revert vismask and uncomplicate openmw  
							
							
							
						 
						
							2020-04-20 20:57:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								1cf2036386 
								
							 
						 
						
							
							
								
								Don't add empty PrimitiveSets (prevent undefined behaviour)  
							
							
							
						 
						
							2020-04-18 02:38:20 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									AnyOldName3 
								
							 
						 
						
							
							
							
							
								
							
							
								12044a607b 
								
							 
						 
						
							
							
								
								Only alpha-test shadows when necessary  
							
							... 
							
							
							
							Previously we always discarded shadow map fragments if the alpha channel of the output would have been low, but there were some (modded) assets that have non-one alpha but have testing or blending disabled so end up opaque anyway. This lets the shadows of those objects match. 
							
						 
						
							2020-04-10 15:45:37 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								02d7b13075 
								
							 
						 
						
							
							
								
								Merge pull request  #2529  from akortunov/nodecopy  
							
							... 
							
							
							
							Copy transformations data when we clone node 
							
						 
						
							2020-04-04 15:04:49 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7ae7cb181d 
								
							 
						 
						
							
							
								
								Support recast mesh rendering  
							
							
							
						 
						
							2020-03-14 09:38:24 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								84979fa8b7 
								
							 
						 
						
							
							
								
								Move VisMask to components  
							
							
							
						 
						
							2020-02-16 16:03:35 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									bzzt 
								
							 
						 
						
							
							
							
							
								
							
							
								d340224c95 
								
							 
						 
						
							
							
								
								shadowsbin for gl state reduction  
							
							
							
						 
						
							2019-11-20 13:37:00 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2e1d8a5e55 
								
							 
						 
						
							
							
								
								Remove unused virtual modifiers in DebugHUD  
							
							... 
							
							
							
							/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction 
							
						 
						
							2019-11-17 18:50:11 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									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