Commit Graph

568 Commits (341ca691fc8a465a81b48d7953fc800a887b46fd)

Author SHA1 Message Date
Andrei Kortunov e568ad30ea Copy transformations data when we clone node (bug #5163) 5 years ago
Andrei Kortunov d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
5 years ago
capostrophic 62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 5 years ago
capostrophic c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 5 years ago
Andrei Kortunov 8557346fbd Use glow for enchanted arrows (feature #5122) 5 years ago
Capostrophic 6622e36226 Only merge pure osg::Groups in the optimizer 6 years ago
Alexei Dobrohotov 1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
6 years ago
Capostrophic 05d94d35f9 Make disabled shadow defines map static 6 years ago
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
6 years ago
bzzt 1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 6 years ago
Andrei Kortunov b466bfee40 Enable light sources directly to avoid virtual calls 6 years ago
Andrei Kortunov b2fca46206 Fix a couple of minor issues in shadows 6 years ago
Capostrophic de572226e4 Update optimizer with upstream improvements 6 years ago
Bret Curtis 7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
6 years ago
bzzt 4ab93aeffe Do not allocate empty callbacks in the RigGeometry 6 years ago
elsid 8e09468f45
Don't set display list usage for navmesh 6 years ago
elsid 4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
6 years ago
Andrei Kortunov bacaa1f789 Get rid of C-style limits in the shadows code 6 years ago
Bret Curtis 551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
6 years ago
elsid 47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
6 years ago
AnyOldName3 d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 6 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
6 years ago
bzzt 8c649f05e6 Don't reallocate light list vector unnecessarily 6 years ago
bzzt a567111400 Use emplace instead of find-assign 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Chris Djali cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
6 years ago
AnyOldName3 0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 6 years ago
Bret Curtis f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
6 years ago
Andrei Kortunov 60c9806d62 Share RigGeometry node data 6 years ago
Andrei Kortunov 9e4a339ad3 Daytime node switch support (feature #4836) 6 years ago
AnyOldName3 15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 6 years ago
AnyOldName3 cfe921fb82 Remove uneeded includes. 6 years ago
AnyOldName3 2761a38562 Prettify shadow define map setup. 6 years ago
AnyOldName3 57e10e26b2 Make variable name less confusing 6 years ago
AnyOldName3 a24b8ec3d2 Fix enable/disable mixup. 6 years ago
AnyOldName3 556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 6 years ago
Andrei Kortunov 03b71d3c30 Improve switchable nodes handling by optimizer 6 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 d82c85913a Don't bother multiplying a matrix by its inverse and applying that to the light direction.
Hopefully this will improve numerical stability and reduce shadow flicker a little.
6 years ago
AnyOldName3 4438ab4493 Use CullVisitor traversal mask for light manager. 6 years ago
Andrei Kortunov 2c38e337ae Support NiSwitchNode (feature #4812) 6 years ago
Andrei Kortunov 8e6fd348d1 RigGeometry optimization: optimize geometry optimization 6 years ago
Andrei Kortunov 254f01b89d RigGeometry optimization: vector iteration is more cheap than map iteration 6 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 6 years ago
AnyOldName3 199e6ed82d Revert "Use forward declaration to reduce build times."
This reverts commit 305b9826df.
6 years ago
AnyOldName3 305b9826df Use forward declaration to reduce build times. 6 years ago
AnyOldName3 7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 6 years ago
AnyOldName3 53188f61fc Fix animation bug with VAOs 6 years ago
Bret Curtis fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO" 6 years ago
AnyOldName3 2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 6 years ago
mp3butcher 7a85e10d2f fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO 6 years ago
AnyOldName3 0a409c0ab8 Make shadow map front-face culling configurable 6 years ago
AnyOldName3 dd207d9e54 Make the shadow polygon offset parameters configurable 6 years ago
AnyOldName3 aa11832949 Resolve bugs with depth-clamped shadow maps 6 years ago
AnyOldName3 7ad4882f0c Fix debug hud frustum outline disappearence 6 years ago
AnyOldName3 061fa57335 Switch to better-performing data types for debug hud geometry 6 years ago
AnyOldName3 632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 6 years ago
AnyOldName3 660e423e99 Correct debug hud frustum colour 6 years ago
AnyOldName3 3785ba6aa0 Merge upstream/master 6 years ago
AnyOldName3 1ca7ea23d1 Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly. 6 years ago
AnyOldName3 b0907f8929 Add todos in case they're left until after the shadow PR is merged 6 years ago
AnyOldName3 474770eca8 Switch shadow map rendering to a specialised, simplified shader. 6 years ago
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 87394f2ebb Revert "Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437)"
This reverts commit 09427d3f5e since the
fix is not entirely correct.
6 years ago
Kyle Cooley 6bece13a32 Use new Log class for error message 6 years ago
Kyle Cooley e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 6 years ago
Kyle Cooley 8444ee9981 Start rendering npc's 6 years ago
Andrei Kortunov 09427d3f5e Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437) 6 years ago
Marc Zinnschlag 24ce8cce72 Merged pull request #1898 6 years ago
Andrei Kortunov 0ddd0e4edc Fix light flicker amplitude calculation 6 years ago
Andrei Kortunov c677f7ca27 Rework pulsing light sources (bug #4615) 6 years ago
Marc Zinnschlag 232ea4f793 Merged pull request #1887 6 years ago
Sophie Kirschner c412f99963 Remove commented lines in UnrefWorkItem::doWork 6 years ago
Andrei Kortunov ff241fb787 Optimize skinning (task #4605) 6 years ago
Sophie Kirschner 4dd9386c4f Fix error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
Fixes compile error encountered on OSX 10.9 with g++

sophie:build pineapple$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

The compilation error:

[ 24%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/mwrender/renderingmanager.cpp.o
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.cpp:1:
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.hpp:4:
/Users/pineapple/git/openmw/openmw-deps/include/osg/ref_ptr:35:36: error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
        ~ref_ptr() { if (_ptr) _ptr->unref();  _ptr = 0; }
                                   ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:14:11: note: in instantiation of member function
      'osg::ref_ptr<SceneUtil::UnrefWorkItem>::~ref_ptr' requested here
    class UnrefQueue : public osg::Referenced
          ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:10:11: note: forward declaration of 'SceneUtil::UnrefWorkItem'
    class UnrefWorkItem;
6 years ago
AnyOldName3 db707a31ec Add clipping planes when allow shadow map overlap is enabled 6 years ago
AnyOldName3 15e820825f Fix another convex hull clipping issue and restore z-clipping 6 years ago
AnyOldName3 80082308f0 Merge upstream (shadermanager log system revamp) 6 years ago
AnyOldName3 dd501f4132 Make ConvexHull::clip more resilient against large values. 6 years ago
AnyOldName3 987306feb9 Fix ConvexHull::extendTowardsNegativeZ 6 years ago
Andrei Kortunov 1452684d9e Use new logging system for components 6 years ago
AnyOldName3 3b3721897d Make indoor shadows disableable. 6 years ago
AnyOldName3 6286f5a1d4 Ensure RigGeometry child geometries have sensible bounds without actually computing them. 6 years ago
AnyOldName3 71778e2552 Disable convex hull clipping based on render leaf traverser results in the z direction. 7 years ago
AnyOldName3 02ab3b466a Use simplified convex hull clipping maths from the other function doing hte same thing 7 years ago
AnyOldName3 85aba2e1da Add toggleable shadow debug overlay. 7 years ago
AnyOldName3 ed68db5ef9 Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were. 7 years ago
AnyOldName3 f5b144ef77 Improve bounds calculation for shadow casters outside of the viewing frustum 7 years ago
AnyOldName3 50fdd0be99 Resolve computed near plane issues with extremely high viewing distances. 7 years ago
AnyOldName3 2c30bc1b4f Accidentally fix the one remaing case where shadows look awful while refactoring some stuff. 7 years ago
AnyOldName3 9f0a49c303 Disable CSM when disabled in the settings. 7 years ago
AnyOldName3 84284a60a7 Make CSM shader changes controllable by the setting. 7 years ago
AnyOldName3 5d05aadb37 Begin to let settings toggle between CSM and PSSM 7 years ago
AnyOldName3 7255c266ba Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 7 years ago
AnyOldName3 fc1aee10f4 Remove function declaration that somehow snuck in. 7 years ago
AnyOldName3 1b30d47d7f Add a hacky temporary version of cascading shadow maps 7 years ago
AnyOldName3 44b2cf2b7f Merge upstream. 7 years ago
AnyOldName3 166e7df778 Improve debug HUD frustum 7 years ago
AnyOldName3 4547151863 Add the view frustum to the debug HUD (in the most annoying way possible) 7 years ago
scrawl 6c79c0fb35
Add an empty compileGLObjects implementation to Rig/MorphGeometry to avoid unnecessary creation of display list done by osg 7 years ago
elsid 14daadded7
Add virtual destructors
To fix warnings:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:588:8: warning: delete called on non-final 'NifOsg::ControllerFunction' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
              delete __p;
              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : __shared_count(__p)
          ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
                       ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<NifOsg::ControllerFunction,
      __gnu_cxx::_S_atomic>::__shared_ptr<NifOsg::ControllerFunction, void>' requested here
        shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
                               ^
/home/elsid/dev/openmw/components/nifosg/nifloader.cpp:242:39: note: in instantiation of function template specialization 'std::shared_ptr<NifOsg::ControllerFunction>::shared_ptr<NifOsg::ControllerFunction, void>' requested here
                callback->setFunction(std::shared_ptr<NifOsg::ControllerFunction>(new NifOsg::ControllerFunction(key)));
                                      ^

/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:78:2: warning: delete called on non-final 'MWGui::ResponseCallback' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
        delete __ptr;
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:268:4: note: in instantiation of member function 'std::default_delete<MWGui::ResponseCallback>::operator()' requested here
          get_deleter()(__ptr);
          ^
/home/elsid/dev/openmw/apps/openmw/mwgui/dialogue.cpp:58:23: note: in instantiation of member function 'std::unique_ptr<MWGui::ResponseCallback, std::default_delete<MWGui::ResponseCallback> >::~unique_ptr' requested here
    PersuasionDialog::PersuasionDialog(ResponseCallback* callback)
                      ^
7 years ago
AnyOldName3 e885612bd7 Make a dynamic cast static 7 years ago
AnyOldName3 b553b58de5 Fix another compiler warning 7 years ago
AnyOldName3 3bed2a7b01 Fix some copiler warnings (hopefully) 7 years ago
AnyOldName3 fc41902798 Replace a dynamic cast with string comarison 7 years ago
AnyOldName3 bc4b4c66e4 (Hopefully) add include which G++ requires even though VC++ doesn't. 7 years ago
AnyOldName3 d1a2955fa1 Merge upstream 7 years ago
AnyOldName3 66a114d6ec Fix a couple of warnings 7 years ago
AnyOldName3 f9cf1ac94b Separate indoor and outdoor shadow casting masks. 7 years ago
AnyOldName3 35eb71052e Tidy up the shadow manager 7 years ago
AnyOldName3 882b63cba9 Make split point control parameters configurable with the new shadow technique. 7 years ago
AnyOldName3 e233dae1cd Hook up the new shadow technique 7 years ago
AnyOldName3 97b607fc66 Make whitespace match upstream OSG 7 years ago
AnyOldName3 99db93510c Undo minor cockup where the same file appeared twice 7 years ago
AnyOldName3 639a4f5e8c Remove TODO left in by accident. Also, become 100 commits ahead of upstream. 7 years ago
AnyOldName3 478367bef3 Ensure the debug HUD won't crash if settings are changed at runtime. 7 years ago
AnyOldName3 7b52091a82 Make the debug hud enableable 7 years ago
AnyOldName3 5d719e9d5f Add the debug HUD to the new shadow technique 7 years ago
AnyOldName3 76f23c28b1 Make shadows disableable. 7 years ago
AnyOldName3 0f1e770c53 Transfer changes to cull to new shadow technique 7 years ago
AnyOldName3 4c31b38f77 Move CLSB changes to new shadow technique 7 years ago
AnyOldName3 06b2ce6646 Fix alignment issues caused by renaming classes 7 years ago
AnyOldName3 02d0ee3485 Rename old shadow class to shadow manager 7 years ago
AnyOldName3 ce02c83089 Copy debug shader source into new shadow technique 7 years ago
AnyOldName3 7bd4c5e4b3 Change class name 7 years ago
AnyOldName3 c815366044 Move to the correct namespace part 2 7 years ago
AnyOldName3 11e59d3c11 Move to the correct namespace. 7 years ago
AnyOldName3 324b398d29 Add a notice clarifying the source of the shadow technique files. 7 years ago
AnyOldName3 7467248555 Undo a modification from the upstream shadow technique which breaks compatibiltiy with OSG 3.4 7 years ago
AnyOldName3 273914aba8 Add osgShadow ViewDependentShadowMaps as they can be found in OSG's GitHub Repository 7 years ago
AnyOldName3 9ec59783ba Add basic support for distant terrain CLSB
(cherry picked from commit 0f9dc3e65b72e6fff762f7a0933bae6f861e5fd4)
7 years ago
AnyOldName3 cb6767b4fc Move the declaration of ComputeLightSpaceBounds to the header so that it can be accessed from other compilation units.
(cherry picked from commit 8ac4fb208897a18da4934dd6f2fe84560b44ba9d)
7 years ago
AnyOldName3 6251e0519e Use CLSB results to reduce maximum shadow map distance when sensible. 7 years ago
scrawl 25a6a67508
Fix the optimizer messing up LOD node's children (Fixes #4301) 7 years ago
AnyOldName3 9f20aaccfb Add some more advanced settings to control shadows. 7 years ago
AnyOldName3 6ec893b618 Merge remote-tracking branch 'refs/remotes/upstream/master' 7 years ago
scrawl bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
7 years ago
AnyOldName3 bf9a1ded63 Mark a function as override 7 years ago
AnyOldName3 c3e0398d1c Add settings 7 years ago
AnyOldName3 c192c851db Make disabling shadows disable their performance impact, too. 7 years ago
AnyOldName3 8957c92a36 Switch to a more industry-standard shadow map splitting scheme 7 years ago
AnyOldName3 7cce2d6f87 Implement a more sensible shadow map cascading system 7 years ago
AnyOldName3 98cd9fc144 Add preliminary support for global shader defines. 7 years ago
AnyOldName3 e201e359a9 Move Shadow to Components 7 years ago
scrawl 03554b2f4b Fix some style issues flagged by cppcheck 7 years ago
Miloslav Číž 380a5799dd use bbox as wrap range & apply to all particle systems 7 years ago
Miloslav Číž 33a1459b11 search for particle system by class name 7 years ago
scrawl dca31b7ffa Remove redundant _boundingBoxComputed which no longer exists in osg master (Fixes #4075) 7 years ago
scrawl 2e58024f1c Fix intersections with Rig/MorphGeometry, was caused by an issue in the LineSegmentIntersector not respecting the cullingActive flag of a drawable. 7 years ago
scrawl 5e790b567e Fix node path issue
Needs to be set so that the 'cullingActive' flag of the node path's end can be checked
7 years ago
scrawl 4bef8260ab Add const qualifiers 7 years ago
scrawl 5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
7 years ago
scrawl 209e139aa8 Move double buffering implementation inside RigGeometry
The double buffering is an implementation detail so it should be handled as such, rather than mandating the scene graph to be structured in a certain way.

Override accept(NodeVisitor&) instead of using callbacks.
7 years ago
scrawl 45f7563a55 Revert "Revert "Check for a Geometry node when attaching bodyparts""
Issue with shaders has been fixed with b9931fb71c

This reverts commit a1e3fb7604.
7 years ago
scrawl a1e3fb7604 Revert "Check for a Geometry node when attaching bodyparts"
This reverts commit 3fc8634206.
7 years ago
scrawl 3fc8634206 Check for a Geometry node when attaching bodyparts (Fixes #3957) 7 years ago
Allofich 42402976e3 Fixes for building in MSVC 8 years ago
Bret Curtis f0b21cca22 use own inline hash_combine function 8 years ago
Bret Curtis 154d7cffa2 replace and purge boost::function 8 years ago
Bret Curtis 07f75e1104 replace boost::shared_ptr in extern and components 8 years ago
Ewan Higgs 38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 8 years ago
scrawl 8d84869432 Fix commit 8f71b65d38 (don't overwrite the previous user data)
This resulted in a crash/corruption because the KeyframeController, for performance reasons, does not check that the expected user data is there and of correct type.

(Fixes #3829)
8 years ago
scrawl 8f71b65d38 sceneutil/attach: inherit the UserDataContainer to avoid the resource cache from being cleared incorrectly 8 years ago
scrawl 3d58ba7301 Fix boolean test 8 years ago
scrawl 34130fc5cc Fix handling in LightListCallback when the node is not a Group 8 years ago
scrawl b78a9f89af Refactor LightListCallback to allow for integration in custom Drawables. 8 years ago
scrawl 13a6070629 Remove warning spam in skeleton.cpp
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
8 years ago
scrawl c1b1d502ee Fix up commit 330e5fefd1 8 years ago
scrawl 4051018862 optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback 8 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
scrawl 706ac45c76 Fix missing particles caused by shallow copy of ParticleSystemController 8 years ago
scrawl 5caf53b6a3 optimizer: avoid reordering nodes
Fixes an osgParticle cloning issue.

(Fixes #3773)
8 years ago
scrawl a95773beef Fix unnecessary copy of ParticleSystem in SceneUtil::CopyOp 8 years ago
scrawl 48e0f098ff Add missing copy of callbacks when a Transform is replaced by Group
(Fixes #3770)
8 years ago
scrawl 330e5fefd1 optimizer: consider a Group with more than one child redundant as well
While there could be some value in this hierarchy (i.e. improved culling), we don't know if this is being used sensibly; and using a 'flat' hierarchy helps other optimizations.
8 years ago
scrawl e4c12e5e56 optimizer: don't merge Geometry that has transparency sorting enabled 8 years ago
scrawl ebfd845eae optimizer: run MERGE_GEOMETRY after removing redundant nodes 8 years ago
scrawl 43f31d6e54 optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode 8 years ago
scrawl f2a323238f optimizer: merge groups as part of REMOVE_REDUNDANT_NODES 8 years ago
scrawl af716d4b61 optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor 8 years ago
scrawl 698738c649 optimizer: use asXYZ() instead of dynamic_cast 8 years ago
scrawl f7cb4bd245 optimizer: remove some cruft 8 years ago
scrawl e33829d493 Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
Remove optimizers that won't be used.
8 years ago
scrawl 305cccd263 Don't print Geometry data (vertices, triangles, etc.) in showscenegraph 8 years ago
scrawl c231b06320 Remove boneOffset node after using it 8 years ago
scrawl 8f79fa3d72 Add resource statistics panel opened with F4 8 years ago
scrawl 4aa40d16bc Increase the importance of light radius when sorting lights (Bug #2759) 8 years ago
scrawl 67e4a7e37b Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead 8 years ago
scrawl 839928e210 Fix light data being reset for the wrong light 8 years ago
scrawl a46593fa74 Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread 8 years ago
scrawl c00532d82d Add LightStateCache to avoid redundantly setting the same gl_Light
Normally, osg::State would do this for us (via lastAppliedAttribute), but since we're using a custom StateAttribute to apply all lights at once, we have to track ourselves.

Further reduction of GL calls in a typical scene by ~2%
8 years ago
scrawl 4d4dc1b9c1 Add specialized DisableLight state attribute for more efficient undoing of light state
Seems to reduce # of GL calls by 10-15% in a typical scene.
8 years ago
scrawl a1069dce3c Change UnrefQueue to accept osg::Referenced instead of osg::Object 8 years ago
scrawl 33e654f94d Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls 8 years ago
scrawl 767eba941f Speed up finding of attachment node by using the cached nodeMap 8 years ago
scrawl a76d693627 Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal() 8 years ago
scrawl 30b101b175 Fix build error in OSG_USE_FLOAT_MATRIX=OFF mode due to a double implicit conversion to double (pun doubly intended) 8 years ago
scrawl 84a92e665c Improve performance in RigGeometry by optimizing for the most common case of identity geomToSkelMatrix 8 years ago
scrawl 53e4db8a8f Add dummy serializer for CameraRelativeTransform to allow serializing content of Sky Root 8 years ago
scrawl 34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 8 years ago
scrawl eae35af13d Check if the bounding box changed before calling dirtyBound() 8 years ago
scrawl cca75499ee Clear the Skeleton's bone cache when a node is added/removed (Fixes #3663) 8 years ago
scrawl c0faeea938 RigGeometry check if mesh has normals (Fixes #3667) 8 years ago
MiroslavR 11565b5966 Make actors with non-portable lights in inventory glow (Closes #2042, #3338) 8 years ago
scrawl 513e1da8a3 Remove unneeded casts 9 years ago
Aesylwinn 5753f52b47 Move water mesh + simple state generation to components library. 9 years ago
scrawl 8f62ea2e80 Fix for "RigGeometry rendering with no skeleton" errors 9 years ago
scrawl d5f497c47d Pass the node path instead of the node visitor 9 years ago
scrawl 6fa95e72c5 Pass the traversal number instead of the node visitor 9 years ago
scrawl 824cd3be22 Do not set _boundingBoxComputed which is no longer used 9 years ago
Aesylwinn b83f522ecd Changes to color scheme, slight change to drag indicator,
change tooltip description.
9 years ago
Aesylwinn 1781aaaa27 Drag indicator. 9 years ago
Aesylwinn 32ba5bf8b8 Initial pathgrid editting, support for selection and movement. 9 years ago
scrawl 17a0353a85 Fix forward declaration mismatch 9 years ago
Aesylwinn 14ae232938 Remove now unnecessary factory class.
It was originally used for storing normals, but that functionality
was removed.
9 years ago
Aesylwinn b11f5b2717 Make edges differently colored. 9 years ago
Aesylwinn 0eb863d8fc Change color to blue to match the pathgrid visibility selector in the
editor and slightly increase the scaling.
9 years ago
Aesylwinn 7f0cc6e583 Add a color gradiant to pathgrid nodes to make them less of an eyesore. 9 years ago
Aesylwinn 3d26ff08c4 Get rid of lighting. 9 years ago
Aesylwinn d141672b53 Pathgrid geometry creator 9 years ago
scrawl 2f8be401cc Add the unref work items to the front of the workqueue (Bug #3273)
Ensures that memory still gets freed even if the workqueue is overloaded.
9 years ago
scrawl 8052225460 Remove leftover call to setTexCoordArrayList 9 years ago
scrawl cc0afe901f Store a pointer to tangents array to avoid potential type casting issue 9 years ago
scrawl d1f6169889 Add special handling of RigGeometry tangents in ShaderVisitor 9 years ago
scrawl 95e80e7eff RigGeometry: don't directly modify the primitive set list
This is to ensure that an element buffer object will be assigned to the primitive sets if necessary.
9 years ago
scrawl c73ec71123 Revert "Store the RigGeometry's source vertices and normals directly"
This reverts commit 7a347e3483.
9 years ago
scrawl 60c8c4fdda Revert "Animate tangents in RigGeometry"
This reverts commit 9cf963b751.
9 years ago
scrawl 9cf963b751 Animate tangents in RigGeometry 9 years ago
scrawl 7a347e3483 Store the RigGeometry's source vertices and normals directly 9 years ago
scrawl d986b1a48b Add comment 9 years ago
scrawl 1abb77f8a1 Cleanup 9 years ago
scrawl 9f03982e0b Use a dedicated VBO for RigGeometry's vertices and normals
The VBO used by the source geometry's arrays may be unintentionally shared with other RigGeometries.

The vertices and normals are the only attributes that are modified at all, so using a dedicated VBO for these should improve performance further.
9 years ago
scrawl 50b8260a39 Disable VBOs in RigGeometry while investigating a crash possibly related to commit cda8a88f0d 9 years ago
scrawl 4eb090a8d0 Set the RigGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 9 years ago
scrawl 174dd82894 Manually apply the osg::Light state
Reduce the amount of virtual function calls. Don't use the osg::Light's lightNum. Don't set spotlight state that we're not using (yet).
9 years ago
scrawl 58e0e8bd4e Enable vertex buffer objects in RigGeometry 9 years ago
scrawl f898bf493f Don't use Geodes 9 years ago
scrawl 137dde7cf8 Include cleanup 9 years ago
scrawl 0df975a4d7 Properly detach nodes in CopyRigVisitor (Fixes #3234) 9 years ago
scrawl 563807ee53 Share the StateSet used to invert front face 9 years ago
scrawl 8791063110 Fix "RigGeometry rendering with no skeleton" warnings in rare cases 9 years ago
scrawl 1e5b4bea0a Don't create an unnecessary osg::Group when copying over a rig 9 years ago
scrawl 90a99991d1 Use empty() instead of !size() 9 years ago
scrawl 3e854a84a2 Slightly more efficient applying of light state 9 years ago
scrawl f93b7ec943 Fix light state issue
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.

Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
9 years ago
scrawl 9376811213 Vertex lighting shader 9 years ago
scrawl c4d38bb42d Fix clang analyzer warnings 9 years ago