summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Split Terrain::generateMeshes into smaller functionscullingDan Goodliffe5 hours
| | | | | | Also removes incorrect optimisation that a tile's AABB could be assumed from tile base position; in fact some faces cross the boundaries and the AABB needs to account for this.
* Perfectly forward range when materializingDan Goodliffe30 hours
|
* Rebalance shadow band distributionDan Goodliffe30 hours
| | | | Extends the initial band from around 34m to around 100m.
* Cull terrain meshes from render that don't cast a shadow into the frustumDan Goodliffe30 hours
|
* Add a spike of terrain in test-renderDan Goodliffe30 hours
| | | | Very fake, but casts a clear shadow.
* Initialise shadow bounding box to light view pointDan Goodliffe30 hours
| | | | Then extended to cover the view extents.
* Extend Frustum for testing for shaded byDan Goodliffe30 hours
| | | | | Like contains, but doesn't test the back plane as shadow caster can be anywhere behind the view point and still cast into it.
* Pass a Frustum to shadow renderersDan Goodliffe30 hours
| | | | The frustum might not be correct at this stage.
* Simplify ShadowMapper with AxisAlignedBoundingBoxDan Goodliffe30 hours
|
* Template AxisAlignedBoundingBox on unit typeDan Goodliffe30 hours
|
* Current tile in frustum as we loopDan Goodliffe30 hours
| | | | Chunk by surface only, render if visible in frustum
* Construct terrain tile AxisAlignedBoundingBox during mesh generationDan Goodliffe30 hours
| | | | | No surface is simply the tile bounds, but with a surface, it's constrained to just the bounds of the surface itself.
* AxisAlignedBoundingBox construct from range instead of spanDan Goodliffe30 hours
|
* Only render terrain tiles which are visible in the frustumDan Goodliffe30 hours
|
* Add function to test if an AABB is visible in a frustumDan Goodliffe30 hours
|
* Position is moved to FrustumDan Goodliffe30 hours
|
* Create AxisAlignedBoundingBoxDan Goodliffe30 hours
| | | | Used to define the extents of GeoData mesh
* Pass frustum into render functionsDan Goodliffe5 days
| | | | Support for culling objects outside the view frustum
* Split core view definition out of Camera into FrustumDan Goodliffe6 days
|
* Move camera out of gl folder, it's not OpenGL specificDan Goodliffe6 days
|
* Have Camera keep an array of frustum plane definitionsHEADmainDan Goodliffe6 days
| | | | Based on code from https://ktstephano.github.io/rendering/stratusgfx/aabbs
* Constrain operator* for array*functorDan Goodliffe6 days
| | | | Stops it being a broken candidate for array*array
* Cache the camera's view matrixDan Goodliffe10 days
|
* Work around clang thinking this is unused in lambdasDan Goodliffe11 days
|
* Split meshes by surface and tileDan Goodliffe13 days
| | | | | Tile is derived per face based on the first vertices point rounded to roughly 1km.
* Name Worker threads if supportedDan Goodliffe14 days
|
* Add range support for OpenMesh::PolyConnectivity::EntityRangeDan Goodliffe14 days
|
* Create perf-terrain test window globallyDan Goodliffe2025-02-26
|
* Improve Terrain::generateMeshes performanceDan Goodliffe2025-02-25
| | | | | Creates mesh per surface based on a single buffer of all vertices and a collection of per surfuce indices. Makes ColourBias a uniform instead of a vertex attribute.
* Add VertexArrayObject::data for an external existing bufferDan Goodliffe2025-02-25
|
* Add glMappedBufferWriter helperDan Goodliffe2025-02-25
| | | | Usable as an out iterator to transform directly to GPU mapped memory
* Merge remote-tracking branch 'origin/terrain-for-networks'Dan Goodliffe2025-02-24
|\
| * New hardcoded test rail networkDan Goodliffe2025-02-24
| |
| * Don't rely on triangle centroid not already having a surfaceDan Goodliffe2025-02-24
| |
| * Improve number of segments in LinkCurve basesDan Goodliffe2025-02-23
| |
| * Add GeoData deformation perf testDan Goodliffe2025-02-23
| |
| * Add CLOGf for formatting loggerDan Goodliffe2025-02-23
| |
| * Add timeouts to more geoData testsDan Goodliffe2025-02-23
| |
| * Process set height as required in chunks of target vertexDan Goodliffe2025-02-23
| |
| * Less allocy/work set based surface/recursive height settingDan Goodliffe2025-02-23
| |
| * Add adjusted boundary vertices to new/changes/boundary listsDan Goodliffe2025-02-23
| |
| * Expand new verts collection onceDan Goodliffe2025-02-18
| | | | | | | | Before doing vertex normal recalc only, not on every insert
| * Only build/run GeoDataMesh::sanityCheck for debugDan Goodliffe2025-02-17
| |
| * Refactor GeoData::setHeights until a struct made of a logical breakdown of ↵Dan Goodliffe2025-02-17
| | | | | | | | the process
| * Fixes and tests to new range helpersDan Goodliffe2025-02-15
| |
| * Range adaptor to make triangle strip triplesDan Goodliffe2025-02-15
| |
| * Use new helpers to simplify close entity search in GeoData::setPointDan Goodliffe2025-02-14
| |
| * Add utility class to easily get nth field of tuple/pair for any typesDan Goodliffe2025-02-14
| |
| * Add operator| overload to make OpenMesh XY_range(...) work with std::rangesDan Goodliffe2025-02-14
| | | | | | | | Wraps the OpenMesh with iota and forwards the adapter
| * Move basic setHeights lambdas into proper helper functionsDan Goodliffe2025-02-13
| |