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
scrawl
7071d286e8
Fix inverted check for 16-bit indices
9 years ago
scrawl
ca0e1fe0e0
Set the osg::Material on the terrain root node
9 years ago
scrawl
6000e48bba
Add terrain shaders and normal map support
...
Textures with _n filename suffix are automatically recognized as terrain normal maps.
9 years ago
scrawl
e05d975020
Change the way that texture filtering settings are applied at runtime
9 years ago
scrawl
5824619a95
Clean up includes
9 years ago
scrawl
8b596dfcbe
Remove support for OSG 3.2
...
Since commit e8662bea31
, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
9 years ago
scrawl
5e876b1379
Add missing include
9 years ago
scrawl
98c5e072f2
Swap the terrain cache update order to make more sense
9 years ago
scrawl
0865cea211
Preload terrain
9 years ago
scrawl
8aba74e6ee
Remove GridElement
9 years ago
scrawl
d11c2864df
Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread
9 years ago
scrawl
c3ad4dad75
Fix applying of filter settings on terrain textures
9 years ago
scrawl
9e5225bb6f
Do not unref a Texture's image data after applying it
9 years ago
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
9 years ago
scrawl
f99f403dda
Rename TextureManager to ImageManager
9 years ago
scrawl
6ef848b7c5
Remove TextureManager::getTexture2D
...
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.
This is closer to what the OSG serializer does.
Streamlines the TextureManager and will make it easier to multithread.
9 years ago
scrawl
fbd4ad9b0c
Flip terrain textures
9 years ago
scrawl
31988ca4cc
Add a dont_override_filter description for textures that should be left alone
9 years ago
scrawl
b06730ac61
Fix terrain textureCompileDummy
9 years ago
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
9 years ago
scrawl
52901ec10c
Do not create terrain geodes when built with OSG 3.4
9 years ago
scrawl
72252d4f32
Terrain: restore IncrementalCompileOperation
9 years ago
scrawl
7ca8e45d5d
Terrain: remove debug code
9 years ago
scrawl
ef18f4217f
Terrain: create 4x4 terrain chunks per ESM::Cell to improve performance
...
Improves performance because the number of splatting layers per chunk is reduced, and finer grained frustum culling can be done.
9 years ago
scrawl
95cf13e3f2
Terrain: make the blendmapSize and layerTileSize in FixedFunctionTechnique configurable
9 years ago
scrawl
b3f5ac5dbb
Include cleanup
10 years ago
scrawl
98571148b0
Remove custom license for terrain code
...
Now that it's no longer a stand-alone component, there's not much point in custom licensing it.
10 years ago
scrawl
db16cdad02
Add a comment
10 years ago
scrawl
5921e70625
Build a kdtree for terrain geometry
...
Improves intersection testing performance, shaving off ~2ms of frame time in exteriors.
Also increases terrain loading time by ~1ms per cell, so will have to look into background loading soon.
10 years ago
scrawl
e046119487
Fix for unnecessary terrain texture coordinate arrays
10 years ago
scrawl
cd47dff196
Minor cleanup
10 years ago
scrawl
b978153edb
Enable VBO sharing for terrain geometry
10 years ago
scrawl
5666e02546
Fix for dark terrain in some cases
10 years ago
scrawl
cdd0623009
Terrain rendering
10 years ago
scrawl
e1f4a7f647
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/openmw/engine.cpp
apps/openmw/mwgui/mainmenu.cpp
apps/openmw/mwgui/windowmanagerimp.cpp
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwrender/animation.cpp
apps/openmw/mwrender/debugging.cpp
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/renderingmanager.cpp
apps/openmw/mwrender/sky.cpp
components/nif/nifkey.hpp
components/nif/nifstream.hpp
components/nifbullet/bulletnifloader.cpp
components/nifogre/ogrenifloader.hpp
libs/openengine/bullet/physic.cpp
libs/openengine/gui/manager.cpp
10 years ago
Marc Zinnschlag
83a7eea2a9
Merge remote-tracking branch 'scrawl/master'
10 years ago
Rohit Nirmal
997347b01e
Silence -Wreorder warnings.
10 years ago
scrawl
20af2b67a8
Change the triangle pattern used for terrain ( Fixes #2459 )
10 years ago
scrawl
af67de73a5
Delete shiny
10 years ago
dteviot
e197f5318b
fixing MSVC 2013 warning C4244: & C4305
...
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
10 years ago
dteviot
45b6538820
fixed MSVC 2013 warning C4800
...
forcing value to bool 'true' or 'false'
10 years ago
jacmoe
ee574e08ef
MIT License header added to all terrain component files.
10 years ago
scrawl
f8b4ff3004
Documentation fix
10 years ago
scrawl
7b4665c623
Terrain: documentation update
10 years ago
scrawl
261da8dd0a
Terrain: use 32-bit indices if necessary
10 years ago
scrawl
f7bac58b39
Terrain: change index buffer flags to unsigned
10 years ago
scrawl
ccab8b1a92
Fix bug in TerrainGrid::getWorldBoundingBox ( Fixes #2075 )
10 years ago
scrawl
eda296f1e3
Remove workaround for Ogre 1.8 (no longer supported)
10 years ago
scrawl
7252cb63a6
Fix cppcheck issues
10 years ago
scrawl
8c26f802e6
Move terrain grid implementation to a component so the editor can use it (Feature #1597 )
11 years ago
scrawl
2a510573b8
Remove unused implementation file
11 years ago
scrawl
e25fa6c157
Refactor non-distant land terrain path to a grid based implementation ( Fixes #1562 )
11 years ago
slothlife
9ea22324f7
Fix some MSVC warnings.
...
Several fixes are warnings about truncations on 64-bit, while others are
complaints about mixed signed / unsigned integer operations.
11 years ago
scrawl
c018319940
Addition to 7c9c0830a96: don't create useless BaseWhite clones
11 years ago
scrawl
7c9c0830a9
Fix errors due to BaseWhite material being removed
11 years ago
cc9cii
11ce093a9e
Fix crashes caused when terrain materials don't get created (e.g. due to cg shader bug on Windows/D3D9). Should resolve Bug #1284 .
11 years ago
slothlife
f33559fead
Fixes for MSVC warnings, less overall changes
...
Kept some fixes from the first round of review. Found out that several
targets weren't being built with the same basic warnings disabled.
Disabled a few warnings for external libraries specifically, rather than
applying them to all targets.
11 years ago
slothlife
c160a04ede
Revert "Fixes for warnings when building with MSVC"
...
This reverts commit 46eb20b98c
.
11 years ago
slothlife
46eb20b98c
Fixes for warnings when building with MSVC
...
Most warnings are innocuous (wrong type-specifier for forward
declarations, conversion of literals into unsigned integers, warnings
about methods optimized out), but I believe actual bugs were revealed in
vartypedelegate.cpp and combat.cpp.
11 years ago
scrawl
6f7fbc867f
Fix several leaks
11 years ago
scrawl
b0a1e1198a
Yet another terrain fix
11 years ago
scrawl
a9dcc90970
Another terrain fix
11 years ago
scrawl
b8ca067730
Small fix for terrain
11 years ago
scrawl
d0f98103e4
Terrain: re-added "distant land=off" path
...
Still a hack, but the overhead of building and traversing the quad tree appears negligible.
11 years ago
scrawl
1d926816b5
Terrain: background load blendmaps & layer textures. Refactor QuadTree update.
11 years ago
scrawl
4328e08162
Terrain: get rid of unneeded members
11 years ago