Commit Graph

64 Commits

Author SHA1 Message Date
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
bzzt lost a hitlab login 65cd2c77aa static intersections
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login c7fda6d280 activegrid paging = 2xfps
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login b7b31926a8 fix map glitch + cleanup
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login 77b92aee9c fix shadowsglitch by bounds overflow
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Andrei Kortunov f4291ea948 Fix intersector usage (bug #5283) 2020-02-10 22:31:20 +04:00
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.
2019-11-05 09:31:38 +01:00
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
2019-06-05 19:09:57 +04:00
bzzt e4ba6ecf15 Do not store a LOD callback in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt a61c0aaee1 Do not load height data to the qued tree since we do not need it now 2019-06-05 18:27:37 +04:00
bzzt ebcf8ca062 Do not store a ViewDataMap in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt cb6d27fb12 Use the custom LineSegmentIntersector for QuadTree to simplify traversal
code
2019-06-05 18:27:37 +04:00
bzzt ce4e8be9ac Move traverse methods to the QuadTreeNode 2019-06-05 18:27:37 +04:00
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 7c9c0830a96: 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