bzzt
391f6faffb
Remove unused defaultViewer / defaultViewPoint
2019-04-07 11:21:09 +04:00
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)
2019-04-07 11:14:37 +04:00
bzzt
e0cf460ba3
Do not load terrain beyond the viewing distance
2019-03-08 22:15:27 +04:00
bzzt
03f23b235a
Optimize terrain QuadTree build
2019-03-01 16:17:11 +04:00
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.
2018-12-10 21:20:29 +00:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
359e748c28
Initialize some missing fields in constructors
2018-06-25 09:35:42 +04:00
scrawl
3e03a0d7bd
Terrain: remove ref argument that is now always true
2017-07-19 16:24:35 +02:00
scrawl
ac78d01b2b
Terrain: use the main camera's viewpoint for intersection tests
...
Fixes lag spikes caused by intersection tests loading/unloading terrain pages.
2017-07-19 13:11:44 +02:00
scrawl
5044816770
Remove unused code
2017-03-14 19:27:56 +01:00
scrawl
db00d47ca2
Hold a ref to the intersection visitor's view if possible
2017-03-14 19:27:56 +01:00
scrawl
4baa795152
Add preloading implementation to QuadTreeWorld
2017-03-14 19:27:56 +01:00
scrawl
bb991850da
Add LOD stitches
2017-03-14 19:27:56 +01:00
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.
2017-03-14 19:27:56 +01:00
scrawl
f19a88be9d
Reject QuadTreeNodes with invalid bounds
2017-03-14 19:27:56 +01:00
scrawl
7d004bf757
Preliminary rendering of QuadTreeWorld
2017-03-14 19:27:55 +01:00
scrawl
ce8c4ad4f5
Add quad tree implementation (no rendering yet)
2017-03-14 19:27:55 +01:00
scrawl
cdd0623009
Terrain rendering
2015-06-03 01:35:41 +02:00
Rohit Nirmal
997347b01e
Silence -Wreorder warnings.
2015-04-28 18:48:02 -05:00
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
2015-03-08 13:07:29 +13:00
jacmoe
ee574e08ef
MIT License header added to all terrain component files.
2015-02-09 20:16:29 +01:00
scrawl
f7bac58b39
Terrain: change index buffer flags to unsigned
2015-01-13 05:37:43 +01:00
scrawl
eda296f1e3
Remove workaround for Ogre 1.8 (no longer supported)
2014-10-02 16:50:10 +02:00
scrawl
e25fa6c157
Refactor non-distant land terrain path to a grid based implementation ( Fixes #1562 )
2014-06-29 02:42:36 +02:00
scrawl
c018319940
Addition to 7c9c0830a9
: don't create useless BaseWhite clones
2014-06-01 02:21:47 +02:00
scrawl
b0a1e1198a
Yet another terrain fix
2014-03-16 16:30:17 +01:00
scrawl
a9dcc90970
Another terrain fix
2014-03-09 11:59:23 +01:00
scrawl
b8ca067730
Small fix for terrain
2014-03-09 03:21:34 +01:00
scrawl
d0f98103e4
Terrain: re-added "distant land=off" path
...
Still a hack, but the overhead of building and traversing the quad tree appears negligible.
2014-03-06 03:04:23 +01:00
scrawl
1d926816b5
Terrain: background load blendmaps & layer textures. Refactor QuadTree update.
2014-03-05 21:46:37 +01:00
scrawl
97c3efb3ba
Terrain: decoupled Chunk from QuadTreeNode.
2014-03-05 21:46:37 +01:00
scrawl
edb5a54092
Include some more required Ogre headers explicitely.
2014-03-05 21:46:37 +01:00
scrawl
195071efc7
Terrain: geometry is now loaded in background threads.
...
TODO: background load layer textures and blendmaps.
"Distant land" setting has been removed for now (i.e. always enabled).
2014-03-05 21:46:37 +01:00
scrawl
b3fed853ae
Terrain: take cell world size into account for LOD selection
2014-03-05 21:46:37 +01:00
scrawl
6c863486e1
Terrain: fix an embarrassing copy&paste mistake.
2014-03-05 21:46:36 +01:00
scrawl
c9e349f60f
Terrain: support alternate coordinate systems. Get rid of LoadingListener for now
2014-03-05 21:46:36 +01:00
scrawl
d4a755d1aa
Fix some hardcoded literals
2014-02-13 11:15:55 +01:00
scrawl
c6fb0f2d9b
Removed terrain component's dependency on ESM
2014-02-13 10:13:53 +01:00
scrawl
a1ac99463f
Fix an uninitialized value
2014-01-24 22:52:04 +01:00
Lukasz Gromanowski
60fb75b03a
Fixed valgrind warning about uninitialized variable:
...
==16814== Conditional jump or move depends on uninitialised value(s)
==16814== at 0xA945B8: Terrain::QuadTreeNode::update(Ogre::Vector3 const&, Loading::Listener*) (quadtreenode.cpp:269)
==16814== by 0xA94A77: Terrain::QuadTreeNode::update(Ogre::Vector3 const&, Loading::Listener*) (quadtreenode.cpp:354)
==16814== by 0xA77541: Terrain::World::update(Ogre::Vector3 const&) (world.cpp:159)
==16814== by 0x6EBA17: MWRender::RenderingManager::requestMap(MWWorld::CellStore*) (renderingmanager.cpp:649)
==16814== by 0x8A25C4: MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*) (scene.cpp:157)
==16814== by 0x8A2CEA: MWWorld::Scene::changeCell(int, int, ESM::Position const&, bool) (scene.cpp:296)
==16814== by 0x8A2DE0: MWWorld::Scene::changeToExteriorCell(ESM::Position const&) (scene.cpp:440)
==16814== by 0x85AC17: MWWorld::World::changeToExteriorCell(ESM::Position const&) (worldimp.cpp:761)
==16814== by 0x927E38: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:436)
==16814== by 0x92843D: OMW::Engine::go() (engine.cpp:483)
==16814== by 0x6C6B3F: main (main.cpp:279)
==16814== Uninitialised value was created by a heap allocation
==16814== at 0x4C27CC2: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16814== by 0xA93E60: Terrain::QuadTreeNode::createChild(Terrain::ChildDirection, float, Ogre::Vector2 const&) (quadtreenode.cpp:178)
==16814== by 0xA7733E: Terrain::World::buildQuadTree(Terrain::QuadTreeNode*) (world.cpp:139)
==16814== by 0xA76B18: Terrain::World::World(Loading::Listener*, Ogre::SceneManager*, Terrain::Storage*, int, bool, bool) (world.cpp:94)
==16814== by 0x6EC6EB: MWRender::RenderingManager::enableTerrain(bool) (renderingmanager.cpp:1013)
==16814== by 0x8A2A00: MWWorld::Scene::changeCell(int, int, ESM::Position const&, bool) (scene.cpp:206)
==16814== by 0x8A2DE0: MWWorld::Scene::changeToExteriorCell(ESM::Position const&) (scene.cpp:440)
==16814== by 0x85AC17: MWWorld::World::changeToExteriorCell(ESM::Position const&) (worldimp.cpp:761)
==16814== by 0x927E38: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:436)
==16814== by 0x92843D: OMW::Engine::go() (engine.cpp:483)
==16814== by 0x6C6B3F: main (main.cpp:279)
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-29 21:58:55 +01:00
scrawl
69c0bb1723
Add normal, specular & parallax mapping for terrain
2013-12-05 15:51:01 +01:00
scrawl
188df341c3
Replaced log2 to make VC happy
2013-08-27 16:08:58 +02:00
scrawl
839d251cc5
Renamed Terrain::Terrain to Terrain::World to make VC happy
2013-08-27 16:01:16 +02:00
scrawl
d3d6dfbde8
Refactored loading screen
...
- Add loading progress for data files, global map, terrain
- Refactored and improved cell loading progress
2013-08-27 15:48:13 +02:00
scrawl
43313437dc
Fix composite map for cells without land data
2013-08-21 17:26:11 +02:00
scrawl
ce5ea6d7d2
Use a proper node hierarchy; disconnect the root when entering interior
2013-08-21 17:26:11 +02:00
scrawl
fa76d1631b
Some terrain fixes
2013-08-20 12:08:46 +02:00
scrawl
8c8653160d
Crash fix, material fix
2013-08-20 09:52:27 +02:00
scrawl
b92da9ae93
Neighbour fix
2013-08-19 21:08:44 +02:00
scrawl
ebf9debb80
Enabled terrain self shadows, implemented getHeightAt, some optimizations
2013-08-19 20:39:37 +02:00