Commit Graph

387 Commits (master)

Author SHA1 Message Date
bzzt lost a hitlab login da92ad329b move renderbin
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login b7b31926a8 fix map glitch + cleanup
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login 77b92aee9c fix shadowsglitch by bounds overflow
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login 1f891ca46d billboarding support for tree mods
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login cf439581e1 comply by elsid review
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
Andrei Kortunov 6de97e6bc2 Remove redundant variables from RenderingManager 5 years ago
Capostrophic 1bf2ddac4d Cleanup
Move static variable declaration out of the loop
Remove redundant boolean argument from applyDrawableProperties()
Improve HeightCullCallback class formatting
5 years ago
Bret Curtis ed970f4d17 Apply suggestion to components/terrain/terraingrid.hpp 5 years ago
Bret Curtis 756ec7117b make mGrid (and friends) private again, create accessor method to return bool of mGrid.empty() 5 years ago
Bret Curtis 48713915cb re-use bzzts waterplane overlay for debug; makes it easier to test. To use this, set the env OPENMW_WATER_CULLING_DEBUG=1; You will see blue rectangles corresponding to water outlines. Once there are no more outlines, water is culled. You can further see this by pressing F3 3 times to check the the amount of quads. Before culling it should be around 1600, after culling it should drop to 0. 5 years ago
Bret Curtis 407fbe320e cleanup and use C++ version of FLT_MAX 5 years ago
bzzt ed20d869b4 waterculling for both terrain 5 years ago
Bret Curtis a4d1068d1a Merge branch '13' into 'master'
terrainshadowclusterculling

See merge request OpenMW/openmw!141
5 years ago
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 5 years ago
fredzio 39a55318b0 Remove unused variable 5 years ago
Andrei Kortunov a68d9aed4c Fix issues, found by CoverityScan 5 years ago
Andrei Kortunov 84979fa8b7 Move VisMask to components 5 years ago
Andrei Kortunov f4291ea948 Fix intersector usage (bug #5283) 5 years ago
Andrei Kortunov eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
5 years ago
Andrei Kortunov 5daf602256 Fix iterator usage when destroying cell borders (bug #5218) 5 years ago
bzzt 480302d634 terrainclusterculling 5 years ago
elsid 4cd2ff9a3d
Avoid virtual call in TerrainGrid dtor
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: warning: Call to virtual function during destruction [clang-analyzer-optin.cplusplus.VirtualCall]
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:12: note: Assuming the condition is true
    while (!mGrid.empty())
           ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:5: note: Loop condition is true.  Entering loop body
    while (!mGrid.empty())
    ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: This destructor of an object of type '~TerrainGrid' has not returned when the virtual method was called
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: Call to virtual function during destruction
5 years ago
Andrei Kortunov af41e9acc1 Initialize variables to avoid undefined values 5 years ago
elsid d42b5fd28e
Fix warning -Woverloaded-virtual
In file included from openmw/components/terrain/quadtreeworld.cpp:10:
openmw/components/terrain/quadtreenode.hpp:95:14: warning: 'Terrain::QuadTreeNode::traverse' hides overloaded virtual function [-Woverloaded-virtual]
        void traverse(ViewData* vd, const osg::Vec3f& viewPoint, LodCallback* lodCallback, float maxDist);
             ^
OpenSceneGraph/build/clang/release/include/osg/Group:43:22: note: hidden overloaded virtual function 'osg::Group::traverse' declared here: different number of parameters (1 vs 4)
        virtual void traverse(NodeVisitor& nv);
                     ^
1 warning generated.
5 years ago
elsid 751accad0f
Remove unused field QuadTreeBuilder::mLodFactor 5 years ago
bzzt a730365ea1 Creanup Distant Terrain code
- Cull terrain in the stock osg::CullVisitor
- Do not compile composite maps for shadow camera
- Do not abuse userdata for composite maps
6 years ago
bzzt e4ba6ecf15 Do not store a LOD callback in the every QuadTreeNode 6 years ago
bzzt a61c0aaee1 Do not load height data to the qued tree since we do not need it now 6 years ago
bzzt ebcf8ca062 Do not store a ViewDataMap in the every QuadTreeNode 6 years ago
bzzt cb6d27fb12 Use the custom LineSegmentIntersector for QuadTree to simplify traversal
code
6 years ago
bzzt ce4e8be9ac Move traverse methods to the QuadTreeNode 6 years ago
Andrei Kortunov 1da012f6ee Optimize blendmap generation 6 years ago
elsid 4500f01efd
Remove unused field 6 years ago
bzzt 391f6faffb Remove unused defaultViewer / defaultViewPoint 6 years ago
bzzt e908790584 Inherit the view point from main camera for water RTT cameras 6 years ago
Andrei Kortunov 489e5c6cce Store preloaded terrain view in the main thread 6 years ago
bzzt 63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
6 years ago
bzzt c8d2107b80 Do not store Viewer reference in the ViewData 6 years ago
Bret Curtis 1e9eac568f
Merge pull request #2249 from akortunov/cache
Implement generic caching system
6 years ago
Capostrophic 786f3e5fc3 Remove unused and unfinished blendmap packing feature 6 years ago
Andrei Kortunov 0e1f5f68b6 Do not allow different threads to compile the same composite map 6 years ago
Andrei Kortunov cad45e96ac Remove redundant mCompile set - we do not use data from it anyway 6 years ago
bzzt c2986b3bd7 Do not block the loading thread while compiling composite maps in the
draw thread
6 years ago
Bret Curtis b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
6 years ago
bzzt aa5a071aef Delete composite map layers in the background thread 6 years ago
Bret Curtis d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
6 years ago
bzzt 6029ed4ecc Reject empty quad tree nodes at the cell level without land data 6 years ago
bzzt 36fa51b6ad Fix bounding box calculation for terrain shapes 6 years ago
bzzt e131e6699c Match vertex colors data type to source 6 years ago
Andrei Kortunov 2ed05a5195 Implement generic caching system 6 years ago
Andrei Kortunov 12f9184d00 Allow to interrupt terrain preloading 6 years ago
bzzt e0cf460ba3 Do not load terrain beyond the viewing distance 6 years ago
Andrei Kortunov a6fd077537 Render nearby default cells if the Distant Terrain is disabled 6 years ago
Andrei Kortunov 46e1ed660c Revert "Render default land texture for Wilderness cells with distant terrain"
This reverts commit 888c2d9a33.
6 years ago
Bret Curtis a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
6 years ago
Andrei Kortunov 72db11b56c Fix Clang warnings about hidden virtual methods 6 years ago
Capostrophic 0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 6 years ago
Bret Curtis cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
6 years ago
Andrei Kortunov 56fea4b062 Add setting to control composite geometry size 6 years ago
bzzt 9d44e18af6 Allow to configure terrain vertex LOD 6 years ago
bzzt 03f23b235a Optimize terrain QuadTree build 6 years ago
bzzt fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 6 years ago
bzzt b2000b7642 Fix quad tree node child bounding box dimensions 6 years ago
bzzt 172cb74763 Delete composite map layers on demand 6 years ago
bzzt 4f387fdf1c Prune empty quad tree nodes 6 years ago
bzzt 5bce3cbc68 Don't use MWRender namespace in common terrain components 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
AnyOldName3 b6b1b39804 Make the terrain paging system use the view point rather than the eye point to determine which nodes to use so that it can be inherited by RTT cameras. 6 years ago
AnyOldName3 ce15369bbd Convert colorMode shader define to a uniform 6 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 6 years ago
AnyOldName3 80082308f0 Merge upstream (shadermanager log system revamp) 6 years ago
elsid c2b8c7086a
Fix race condition
Values are accessed from main thread and cell preloader threads.
6 years ago
AnyOldName3 cc23a968d1 Merge upstream/master 7 years ago
Andrei Kortunov 359e748c28 Initialize some missing fields in constructors 7 years ago
AnyOldName3 f8e4f3fca5 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 553094669b Merge upstream/master (& fix merge conflicts) 7 years ago
Bret Curtis c1eb9042b3
Merge branch 'master' into terrainbleeding 7 years ago
Miloslav Číž 34f8eca7bd Fix indent 7 years ago
Miloslav Číž ab8de9fa14 Set node mask to cell borders 7 years ago
Miloslav Číž 414e6caafe Make tb work with distant terrain 7 years ago
Miloslav Číž f18d57429e Move cell border management to World 7 years ago
Miloslav Číž 1b8d500c07 Make tb command work again 7 years ago
Miloslav Číž 1fd5ad3e56 Use REAL_SIZE constant 7 years ago
Miloslav Číž c3d7ee5a9e Resolve merge conflicts 7 years ago
wareya 94f695cffc Fix #4452 and remove dead code 7 years ago
Miloslav Číž db8aaa74d6 Start cell border debug drawing 7 years ago
wareya 6277f5511c fix #3876 and #3993 7 years ago
AnyOldName3 759e6fb804 Merge remote-tracking branch 'refs/remotes/upstream/master' 7 years ago
Marc Zinnschlag 810e4416f6 Merged pull request #1691 7 years ago
Andrei Kortunov 888c2d9a33 Render default land texture for Wilderness cells with distant terrain 7 years ago
Andrei Kortunov 6cc7405194 Remove unnecessary command from QuadTreeWorld destructor (bug #4408) 7 years ago
AnyOldName3 fc41902798 Replace a dynamic cast with string comarison 7 years ago
AnyOldName3 d1a2955fa1 Merge upstream 7 years ago
AnyOldName3 e233dae1cd Hook up the new shadow technique 7 years ago
AnyOldName3 02d0ee3485 Rename old shadow class to shadow manager 7 years ago
AnyOldName3 9ec59783ba Add basic support for distant terrain CLSB
(cherry picked from commit 0f9dc3e65b72e6fff762f7a0933bae6f861e5fd4)
7 years ago
scrawl 9b8c56761b
Fix timing error 7 years ago
Alexander "Ananace" Olofsson 145b47a550
Fix Windows builds
`std::min`/`std::max` are part of algorithm, which is not implicitly included in Windows builds
7 years ago
scrawl 123f7b83d5
Make the CompositeMapRenderer use available time and add related setting 7 years ago
AnyOldName3 112ade2a3f Ensure TerrainDrawables affect the computed near/far planes. 7 years ago
AnyOldName3 1a30a917af Merge upstream/master 7 years ago
scrawl 7b4add2ae4 Fall back to non-shader material if creating the shader fails
Also fixes an uncaught exception that will break the whole game.
7 years ago
scrawl ceaf0ee409 Enable shadow casting for terrain
Add a check to TerrainDrawable to make sure shadows are only drawn once, not once per blending pass
7 years ago
Marc Zinnschlag dd17f70068 Merge remote-tracking branch 'aesylwinn/landrecords' 7 years ago
Chris Robinson 021627bdf8 Mark some functions with override
Fixes some Clang warnings about overriding a virtual function without the
override keyword.
7 years ago
Kyle Cooley 2abf7f1752 Remove unnecessary cache dump 7 years ago
Kyle Cooley 2eacc2f093 Changes to land creation, add ability to specifically clear terrain cache 7 years ago
scrawl 4fba157d3b Implement releaseGLObjects for cached resources 7 years ago
Kyle Cooley 979b0d7211 Code cleanup and more cache clearing 7 years ago
Kyle Cooley 3b9326d238 Clear terrain cache and reload terrain 7 years ago
scrawl 3e03a0d7bd Terrain: remove ref argument that is now always true 8 years ago
scrawl ac78d01b2b Terrain: use the main camera's viewpoint for intersection tests
Fixes lag spikes caused by intersection tests loading/unloading terrain pages.
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 c992cb6e82 Fix texture not being applied on rendering the composite map (Fixes #3791) 8 years ago
scrawl a070551af3 Attempt to fix naming conflict on windows 8 years ago
scrawl 088d5604bf Use a shader if required to display the composite map
Fixes composited terrain not respecting the 'clamp lighting' setting.
8 years ago
scrawl 7f5beb3172 Remove unused includes 8 years ago
scrawl 5044816770 Remove unused code 8 years ago
scrawl b66c2abfe3 Build the bounding sphere in the loading thread (only relevant for TerrainGrid) 8 years ago
scrawl 9e9c028f1d Skip light collection for far away terrain 8 years ago
scrawl 0782839a42 Avoid redundant culling tests on the transform/drawable 8 years ago
scrawl fb8ac06524 Reduce the minSize of quad tree nodes for better performance 8 years ago
scrawl a041546b54 Use the quad tree's minSize in the LodCallback 8 years ago
scrawl e4e8821902 Refactor update of lodFlags 8 years ago
scrawl 2aa09639a9 Re-enable terrain intersections 8 years ago
scrawl db00d47ca2 Hold a ref to the intersection visitor's view if possible 8 years ago
scrawl 11bee6ee35 Avoid compiling composite maps that are no longer referenced 8 years ago
scrawl 9eed7fa6f5 Fix composite map when force shaders is enabled 8 years ago
scrawl d055dc25bf Add custom traversal for local map camera to avoid loading terrain nodes that are exactly outside the border to another cell 8 years ago
scrawl 7d50b6c2e2 Add QuadTreeWorld::cacheCell to preload cells at max LOD for local maps 8 years ago
scrawl 6ccb6009ee Use the View-based preloading for TerrainGrid as well 8 years ago
scrawl 3c29e2dbeb Refactor ownership of terrain views 8 years ago
scrawl 28fd492711 Don't use terrain LOD for the map camera 8 years ago
scrawl e7a0878c10 Add CompositeMapRenderer info to the stats panel 8 years ago
scrawl c921620ef3 Compile the drawables of a composite map one by one to avoid frame drops for larger maps 8 years ago
scrawl 47ca8aeee5 Use the time elapsed instead of # compiled as limit 8 years ago
scrawl 8a6d909b22 Fix composite map being compiled twice 8 years ago
scrawl 683e625c6c Rewrite CompositeMapRenderer to be based on Drawable and share the FBO 8 years ago
scrawl 4baa795152 Add preloading implementation to QuadTreeWorld 8 years ago
scrawl 9db71e3f62 Recompute the LOD stitching when the view changes 8 years ago
scrawl ef704db877 Fix reset of changed flag 8 years ago
scrawl 1c15686353 Remove non required use of WorkQueue 8 years ago
scrawl 433900fca5 Fix waiting on initial quad tree build 8 years ago
scrawl 4dbd224249 Hide the terrain in non-exterior cells 8 years ago
scrawl 2580de11a4 Refactor ownership of ViewDataMap 8 years ago
scrawl 5a3c645c89 Enable lazy compiling of composite maps 8 years ago