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
scrawl
6a002d19b3
Terrain: destroy no longer used materials
11 years ago
scrawl
97c3efb3ba
Terrain: decoupled Chunk from QuadTreeNode.
11 years ago
scrawl
edb5a54092
Include some more required Ogre headers explicitely.
11 years ago
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).
11 years ago
scrawl
b3fed853ae
Terrain: take cell world size into account for LOD selection
11 years ago
scrawl
6c863486e1
Terrain: fix an embarrassing copy&paste mistake.
11 years ago
scrawl
64c9932597
Terrain: remove hard dependency on shiny - can now be compiled without it (fixed function)
11 years ago
scrawl
c9e349f60f
Terrain: support alternate coordinate systems. Get rid of LoadingListener for now
11 years ago
scrawl
1fba5d1bb9
Terrain: change world bounds from AABB to 4 floats
11 years ago
scrawl
90f6cda4cc
Moved includes to appropriate place
11 years ago
scrawl
d4a755d1aa
Fix some hardcoded literals
11 years ago
scrawl
c6fb0f2d9b
Removed terrain component's dependency on ESM
11 years ago
scrawl
a1ac99463f
Fix an uninitialized value
11 years ago
scrawl
ce6aab89cf
Fix a possible permutation issue
11 years ago
scrawl
c64dc2c831
Terrain specular mapping: use a "_diffusespec" postfix to indicate specular information is present in the alpha channel. Use alpha directly instead of 1-alpha.
11 years ago
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>
11 years ago
scrawl
5fd98d7c3a
Add an assertion
11 years ago
scrawl
18c002a21d
Fix an awful typo.
11 years ago
scrawl
69c0bb1723
Add normal, specular & parallax mapping for terrain
11 years ago
scrawl
188df341c3
Replaced log2 to make VC happy
12 years ago
scrawl
839d251cc5
Renamed Terrain::Terrain to Terrain::World to make VC happy
12 years ago
scrawl
d3d6dfbde8
Refactored loading screen
...
- Add loading progress for data files, global map, terrain
- Refactored and improved cell loading progress
12 years ago
Nikolay Kasyanov
dc6e15f38e
Replaced std::pow with shift since clang doesn't like int as a first argument
...
(reports that call is ambiguous)
12 years ago
scrawl
5f7e6f7b10
Fix a material issue, layers per pass wasn't entirely correct
12 years ago
scrawl
43313437dc
Fix composite map for cells without land data
12 years ago
scrawl
ce5ea6d7d2
Use a proper node hierarchy; disconnect the root when entering interior
12 years ago
scrawl
fa76d1631b
Some terrain fixes
12 years ago
scrawl
8c8653160d
Crash fix, material fix
12 years ago
scrawl
b92da9ae93
Neighbour fix
12 years ago
scrawl
ebf9debb80
Enabled terrain self shadows, implemented getHeightAt, some optimizations
12 years ago
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
12 years ago
scrawl
a41a23c90a
Deleted old code
12 years ago
greye
1339787863
remove underscores from filenames in esm
12 years ago
guidoj
a021165d9f
Changed standard C lib includes to C++ format
13 years ago
Chris Robinson
bd68f7bd33
Remove final direct uses of Mangle::Stream
13 years ago
Jan-Peter Nilsson
4dd76ff36e
Remove no longer needed local .gitignore
14 years ago
Nicolay Korslund
255b0d03a9
Started early work on terrain code (no rendering yet.)
14 years ago