Commit Graph

353 Commits (843753da14d6551ce8ac9c9526d2223e0364ceb5)

Author SHA1 Message Date
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
scrawl 99e18f0d68 Clear the ViewData on exit 8 years ago
scrawl bb991850da Add LOD stitches 8 years ago
scrawl 6bd286d924 Fix unnecessary resizing in ViewData 8 years ago
scrawl 8c151364df Add special handling for CullVisitor to QuadTreeWorld.
- Cull only against bounding box, not bounding sphere, as this appears to perform better.
- Also traverse into non visible nodes to compute their LOD, this is to avoid nodes having to be loaded in when the player turns the view around, and will avoid unnecessary refs/unrefs of rendering data in the View. This should probably be turned off at some point for static cameras, such as the local maps.
8 years ago
scrawl f19a88be9d Reject QuadTreeNodes with invalid bounds 8 years ago
scrawl 7d004bf757 Preliminary rendering of QuadTreeWorld 8 years ago
scrawl e36bdb490e Add view data structure for efficient collection of LOD nodes to use for a given camera/intersection 8 years ago
scrawl 0efc54c749 Subdivide the composite maps 8 years ago
scrawl 819860081f Remove custom bounding box 8 years ago
scrawl ce8c4ad4f5 Add quad tree implementation (no rendering yet) 8 years ago
scrawl 14225a42c6 Remove unused pointer to IncrementalCompileOperation 8 years ago
scrawl c487df0abb Move updateTextureFiltering and material into the base class 8 years ago
scrawl 5eff286c71 Use separate node mask and parent for CompositeMapRenderer to allow the loading screen to pre compile composite maps. 8 years ago
scrawl 7e4450da55 Change the renderOrder of composite maps to ensure they are updated before water reflections or other cameras that may be using it. 8 years ago
scrawl b1d4bb5708 Add CompositeMapRenderer
Temporarily render all terrain using composite maps for testing purposes
8 years ago
scrawl e323b2fa7b Use the SceneManager's ShaderManager 8 years ago
scrawl 051c17a184 Make reportStats const 8 years ago
scrawl 16b5cadd9e Fix order of operations w.r.t clearing cache 8 years ago
scrawl 2c68ed4fb4 Remove no longer required use of UnrefQueue as the new resource manager will naturally clear the cache from the worker thread 8 years ago
scrawl 35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 8 years ago
scrawl 274690f790 Refactor BufferCache to allow caching buffers of different sizes 8 years ago
scrawl 804f873649 terrain: factor out texture caching into a separate class 8 years ago
scrawl eef63a880a terrain: use a custom drawable for multi-pass render instead of osgFX::Effect
osgFX::Effect is awkward to use because of the lazy-definition of passes, no support for compileGLObjects, useless 'Technique' abstraction and having to define silly methods like 'effectAuthor()'

Handling the multi-pass rendering inside the Drawable also avoids redundant culling tests against the same bounding box for each pass.
8 years ago
scrawl 62cc091414 Fix incorrect setting of TexMat in terrain material 8 years ago
scrawl 8f79fa3d72 Add resource statistics panel opened with F4 8 years ago
scrawl c5f8ff6e0e Add names to several nodes for debugging purposes 8 years ago
Allofich 0f20312012 Fix MSVC warnings 8 years ago
scrawl 4322e76cb6 Fix shadowing warnings 8 years ago
scrawl 157c11398d Add terrain parallax mapping 9 years ago
scrawl 3f08cbff71 Share the state attributes for terrain techniques
Reduces the total amount of GL calls / frame by about 14% - 50% depending on the scene.
9 years ago
scrawl f898bf493f Don't use Geodes 9 years ago
scrawl 8f81df2bd3 Cleanup 9 years ago
scrawl 0db7163363 Add specular mapping for terrain 9 years ago
scrawl 6a0ac824bd Fix terrain error in OpenCS 9 years ago