1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-04-17 02:42:45 +00:00

33 Commits

Author SHA1 Message Date
florent.teppe
4c4ed77bd7 Fixes Quad tree terrain missing in some places
the function that queried if data existed or not didn't take the worlspace into account.
2023-05-29 12:10:42 +02:00
fteppe
22dc383f63 fixes errors and warnings
Applies review comments

getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.

applied review comments

use default initlializer when possible
factorise code
uses pattern matching in for loop.
2023-05-29 12:10:42 +02:00
florent.teppe
0e4d21a40c takes the right terrain bounds. 2023-05-29 11:32:14 +02:00
florent.teppe
1b718f09c5 adding worldspace info to terrain data structures
Rendering manager can have multiple terrain, one for each queried worldspace
Terrain::World has a worldspace member
storage functions require a worldspace parameter.
2023-05-29 11:31:37 +02:00
florent.teppe
a3bd6e7e47 ESM::ExteriorCellIndex => ESM::ExteriorCellLocation 2023-05-12 22:05:55 +02:00
florent.teppe
141878f30d int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b can actually load and teleport to esm4 exterior spaces 2023-05-12 22:05:53 +02:00
Petr Mikheev
f1beaa7b8c Put ESMStore to Environment 2023-04-20 21:45:49 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
jvoisin
a6b1e38eab Don't use comma where there is no need to. 2021-08-29 14:12:14 +02:00
bzzt
6029ed4ecc Reject empty quad tree nodes at the cell level without land data 2019-03-18 10:27:29 +04:00
Capostrophic
e70cc10305 Some more de-boosting 2019-02-24 03:20:20 +03:00
scrawl
2d549d088e Get the world size from the ESM::Land store 2017-03-14 19:27:55 +01:00
scrawl
9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 2017-03-14 19:27:55 +01:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
scrawl
157c11398d Add terrain parallax mapping 2016-03-22 21:46:15 +01:00
scrawl
0db7163363 Add specular mapping for terrain 2016-02-20 19:55:08 +01:00
scrawl
5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
2016-02-20 18:00:43 +01:00
scrawl
596fe56bfd Make Land::loadData thread safe 2016-02-09 20:21:56 +01:00
scrawl
c9d02c67c0 Remove unneeded const_cast in TerrainStorage 2015-12-17 23:33:47 +01:00
scrawl
35fa1f5865 Not found Land Textures are no longer a fatal error (Bug #3037)
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
2015-11-27 21:57:24 +01:00
Marc Zinnschlag
febf611c82 made return type of ESMTerrain::Storage::getLand const 2015-08-31 14:17:11 +02:00
scrawl
cdd0623009 Terrain rendering 2015-06-03 01:35:41 +02: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
scrawl
e712b0353b Terrain refactoring, reduce game startup time and memory usage 2015-01-29 03:39:01 +01:00
scrawl
982453d4f6 Move ESM terrain data handler to esmterrain component so it can be used by the editor (Feature #1597) 2014-08-08 15:46:33 +02:00
scrawl
1d926816b5 Terrain: background load blendmaps & layer textures. Refactor QuadTree update. 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
065b6d3331 Terrain: moved ESM::Land load to earlier in the startup procedure
Required for background loading as we cannot load ESM::Land data from background threads.
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
1fba5d1bb9 Terrain: change world bounds from AABB to 4 floats 2014-02-19 11:23:03 +01:00
scrawl
c6fb0f2d9b Removed terrain component's dependency on ESM 2014-02-13 10:13:53 +01:00
scrawl
e27437f8ed New terrain renderer - improvements:
- Consistent triangle alignment, fixes a noticable crack near the census and excise office. Note that alignment is still not the same as vanilla. Vanilla uses a weird diagonal pattern. I hope there aren't more trouble spots that will force us to replicate vanilla, but at least we can do that now.
 - Fixes several blending issues and cell border seams
 - Fix map render to use the terrain bounding box instead of an arbitrary height
 - Different LODs are now properly connected instead of using skirts
 - Support self shadowing
 - Normals and colors are stored in the vertices instead of a texture, this enables per-vertex lighting which should improve performance, fix compatibility issues due to the PS getting too large and mimic vanilla better
 - Support a fixed function fallback (though the splatting shader usually performs better)
 - Designed for distant land support - test: https://www.youtube.com/watch?v=2wnd9EuPJIY - we can't really enable this yet due to depth precision issues when using a large view distance
2013-08-19 20:34:20 +02:00