Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Split Terrain::generateMeshes into smaller functionsculling | Dan Goodliffe | 5 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 materializing | Dan Goodliffe | 30 hours |
| | |||
* | Rebalance shadow band distribution | Dan Goodliffe | 30 hours |
| | | | | Extends the initial band from around 34m to around 100m. | ||
* | Cull terrain meshes from render that don't cast a shadow into the frustum | Dan Goodliffe | 30 hours |
| | |||
* | Add a spike of terrain in test-render | Dan Goodliffe | 30 hours |
| | | | | Very fake, but casts a clear shadow. | ||
* | Initialise shadow bounding box to light view point | Dan Goodliffe | 30 hours |
| | | | | Then extended to cover the view extents. | ||
* | Extend Frustum for testing for shaded by | Dan Goodliffe | 30 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 renderers | Dan Goodliffe | 30 hours |
| | | | | The frustum might not be correct at this stage. | ||
* | Simplify ShadowMapper with AxisAlignedBoundingBox | Dan Goodliffe | 30 hours |
| | |||
* | Template AxisAlignedBoundingBox on unit type | Dan Goodliffe | 30 hours |
| | |||
* | Current tile in frustum as we loop | Dan Goodliffe | 30 hours |
| | | | | Chunk by surface only, render if visible in frustum | ||
* | Construct terrain tile AxisAlignedBoundingBox during mesh generation | Dan Goodliffe | 30 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 span | Dan Goodliffe | 30 hours |
| | |||
* | Only render terrain tiles which are visible in the frustum | Dan Goodliffe | 30 hours |
| | |||
* | Add function to test if an AABB is visible in a frustum | Dan Goodliffe | 30 hours |
| | |||
* | Position is moved to Frustum | Dan Goodliffe | 30 hours |
| | |||
* | Create AxisAlignedBoundingBox | Dan Goodliffe | 30 hours |
| | | | | Used to define the extents of GeoData mesh | ||
* | Pass frustum into render functions | Dan Goodliffe | 5 days |
| | | | | Support for culling objects outside the view frustum | ||
* | Split core view definition out of Camera into Frustum | Dan Goodliffe | 6 days |
| | |||
* | Move camera out of gl folder, it's not OpenGL specific | Dan Goodliffe | 6 days |
| | |||
* | Have Camera keep an array of frustum plane definitionsHEADmain | Dan Goodliffe | 6 days |
| | | | | Based on code from https://ktstephano.github.io/rendering/stratusgfx/aabbs | ||
* | Constrain operator* for array*functor | Dan Goodliffe | 6 days |
| | | | | Stops it being a broken candidate for array*array | ||
* | Cache the camera's view matrix | Dan Goodliffe | 10 days |
| | |||
* | Work around clang thinking this is unused in lambdas | Dan Goodliffe | 11 days |
| | |||
* | Split meshes by surface and tile | Dan Goodliffe | 13 days |
| | | | | | Tile is derived per face based on the first vertices point rounded to roughly 1km. | ||
* | Name Worker threads if supported | Dan Goodliffe | 14 days |
| | |||
* | Add range support for OpenMesh::PolyConnectivity::EntityRange | Dan Goodliffe | 14 days |
| | |||
* | Create perf-terrain test window globally | Dan Goodliffe | 2025-02-26 |
| | |||
* | Improve Terrain::generateMeshes performance | Dan Goodliffe | 2025-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 buffer | Dan Goodliffe | 2025-02-25 |
| | |||
* | Add glMappedBufferWriter helper | Dan Goodliffe | 2025-02-25 |
| | | | | Usable as an out iterator to transform directly to GPU mapped memory | ||
* | Merge remote-tracking branch 'origin/terrain-for-networks' | Dan Goodliffe | 2025-02-24 |
|\ | |||
| * | New hardcoded test rail network | Dan Goodliffe | 2025-02-24 |
| | | |||
| * | Don't rely on triangle centroid not already having a surface | Dan Goodliffe | 2025-02-24 |
| | | |||
| * | Improve number of segments in LinkCurve bases | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Add GeoData deformation perf test | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Add CLOGf for formatting logger | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Add timeouts to more geoData tests | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Process set height as required in chunks of target vertex | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Less allocy/work set based surface/recursive height setting | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Add adjusted boundary vertices to new/changes/boundary lists | Dan Goodliffe | 2025-02-23 |
| | | |||
| * | Expand new verts collection once | Dan Goodliffe | 2025-02-18 |
| | | | | | | | | Before doing vertex normal recalc only, not on every insert | ||
| * | Only build/run GeoDataMesh::sanityCheck for debug | Dan Goodliffe | 2025-02-17 |
| | | |||
| * | Refactor GeoData::setHeights until a struct made of a logical breakdown of ↵ | Dan Goodliffe | 2025-02-17 |
| | | | | | | | | the process | ||
| * | Fixes and tests to new range helpers | Dan Goodliffe | 2025-02-15 |
| | | |||
| * | Range adaptor to make triangle strip triples | Dan Goodliffe | 2025-02-15 |
| | | |||
| * | Use new helpers to simplify close entity search in GeoData::setPoint | Dan Goodliffe | 2025-02-14 |
| | | |||
| * | Add utility class to easily get nth field of tuple/pair for any types | Dan Goodliffe | 2025-02-14 |
| | | |||
| * | Add operator| overload to make OpenMesh XY_range(...) work with std::ranges | Dan Goodliffe | 2025-02-14 |
| | | | | | | | | Wraps the OpenMesh with iota and forwards the adapter | ||
| * | Move basic setHeights lambdas into proper helper functions | Dan Goodliffe | 2025-02-13 |
| | |