| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Use RelativeDistance in Camera near/fear and expose member variables | Dan Goodliffe | 3 days |
| | | |||
| * | Allow specifying all three partition functions independently | Dan Goodliffe | 3 days |
| | | | | | | Two predicate version behaviour is unchanged, the second predicate is just the inverse of the third. | ||
| * | Support for the BillboardPainter | Dan Goodliffe | 3 days |
| | | | | | | Based on the ShadowStenciller, creates flattened images of a model for simplified mass use in a scene. | ||
| * | Tidy the preFrame logic into a single function in SceneRenderer | Dan Goodliffe | 8 days |
| | | | | | | Clients now just call that one helper and SceneProvider passes in all the renderables. | ||
| * | Simplified Frustum | Dan Goodliffe | 11 days |
| | | | | | | | | | | | | Don't need to differentiate between shadedBy by contains. The 5 plane/face variant is actually fine in both cases. For a perspective projection, the near plane is essentially at the origin and is handled by the left/right/top/bottom planes meeting. For the directional light case (orthographic projection) the near plane is omitted as objects in front of the clip space still cast shadows into it. Also includes a fix the distance calculation to not add .w, don't know where I got the idea this was right. | ||
| * | Reduce shader includes, doesn't use materialInterface, just Detail | Dan Goodliffe | 11 days |
| | | |||
| * | Simplified and tidied ShadowMapper | Dan Goodliffe | 11 days |
| | | | | | | No arbitrary 10m extra extents. No runtime vectors. Simpler code. Consts. etc. | ||
| * | Correctly scale frustum plane vectors | Dan Goodliffe | 11 days |
| | | | | | Fixes comparison with real world (sphere) size parameter. | ||
| * | Fix up the preFrame process to use both frustums | Dan Goodliffe | 13 days |
| | | | | | | | (camera and directional light frustums) This has made the whole preFrame process far more fiddly and repetitive than I'd like, but it does work. Maybe we can tidy it up later. | ||
| * | Add Renderable::preFrame for doing non-const frame prep work | Dan Goodliffe | 2026-02-16 |
| | | | | | | In theory, this phase should be parallelisable before being pushed out by the render loop. | ||
| * | Support for testing if a point/sphere is within a Frustum | Dan Goodliffe | 2026-02-15 |
| | | | | | Use case is the sphere approximating a scenery item such as a tree. | ||
| * | Refactor test-instancing so the data is generated in a common fixture | Dan Goodliffe | 2026-02-14 |
| | | | | | Includes exposure of InstanceVertices::reserve because why not. | ||
| * | Add support for partitioning by 2 unary predicates | Dan Goodliffe | 2026-02-14 |
| | | | | | | Second predicate creates a single block of truthy values in the middle, and two falsy blocks at each end. | ||
| * | Return indices instead of iterates from InstanceVertices::partition | Dan Goodliffe | 2026-02-14 |
| | | | | | More useful in the context of passing them to OpenGL. | ||
| * | Make similar array tidy-up to networkStraight shaders | Dan Goodliffe | 2026-01-31 |
| | | | | | And merge common functionality from networkCurve. | ||
| * | Tidy networkCurve shaders | Dan Goodliffe | 2026-01-31 |
| | | | | | | | | | | Arrays for start/end position/angle, smaller centre position, dynamic segment count based on max error, calculate distance in tessellation evaluation, use start/end position directly to avoid rounding errors at joins. See https://schneide.blog/2025/05/21/calculating-the-number-of-segments-for-accurate-circle-rendering/ | ||
| * | Rename shader source in keeping with glsl expectations | Dan Goodliffe | 2026-01-31 |
| | | | | | | Swaps name/type of generated files to match class names and source files. | ||
| * | Initial commit using tesselation shader to create curves | Dan Goodliffe | 2026-01-31 |
| | | | | | Disables glslangValidator because of file extension mess up. | ||
| * | Update OpenGL context and shaders to v4.6 | Dan Goodliffe | 2026-01-29 |
| | | | | | | Note: doesn't remove/replace older functions where newer ones might be better. | ||
| * | Fix search/replace of GL_* macros in glsl | Dan Goodliffe | 2026-01-29 |
| | | |||
| * | Explicit cast to vec3 to disambiguate length/distance calc | Dan Goodliffe | 2026-01-26 |
| | | |||
| * | Fix warnings and minor tidy for GL lookups | Dan Goodliffe | 2026-01-26 |
| | | |||
| * | Include GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS in networkCurve output calc | Dan Goodliffe | 2026-01-23 |
| | | |||
| * | Add glDebugScope | Dan Goodliffe | 2026-01-16 |
| | | | | | | Wrapper for glPushDebugGroup/glPopDebugGroup which allows neatly grouping OpenGL calls in diagnostic tools. | ||
| * | Pass shaders through glslangValidator | Dan Goodliffe | 2026-01-16 |
| | | | | | Fixes the issues it picked up. | ||
| * | Update the SceneShader's view port on sceneRenderer resize | Dan Goodliffe | 2025-04-08 |
| | | |||
| * | Default environment direction light shines down, not up | Dan Goodliffe | 2025-04-07 |
| | | |||
| * | Merge branch 'imgui' | Dan Goodliffe | 2025-04-02 |
| |\ | |||
| | * | Remove unrequired UIShader | Dan Goodliffe | 2025-03-19 |
| | | | |||
| * | | Add ManyPtr which tracks specified subclasses | Dan Goodliffe | 2025-03-22 |
| |/ | | | | | | This removes the need to repeated dynamic_cast the pointer. Provides interface which enforces the fastest option for the required types. | ||
| * | Add support for resizing a SceneRenderer | Dan Goodliffe | 2025-03-14 |
| | | |||
| * | Add support for changing the aspect ratio of a camera | Dan Goodliffe | 2025-03-14 |
| | | |||
| * | Rebalance shadow band distribution | Dan Goodliffe | 2025-03-11 |
| | | | | | Extends the initial band from around 34m to around 100m. | ||
| * | Initialise shadow bounding box to light view point | Dan Goodliffe | 2025-03-11 |
| | | | | | Then extended to cover the view extents. | ||
| * | Extend Frustum for testing for shaded by | Dan Goodliffe | 2025-03-11 |
| | | | | | | 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 | 2025-03-11 |
| | | | | | The frustum might not be correct at this stage. | ||
| * | Simplify ShadowMapper with AxisAlignedBoundingBox | Dan Goodliffe | 2025-03-11 |
| | | |||
| * | Template AxisAlignedBoundingBox on unit type | Dan Goodliffe | 2025-03-11 |
| | | |||
| * | AxisAlignedBoundingBox construct from range instead of span | Dan Goodliffe | 2025-03-11 |
| | | |||
| * | Add function to test if an AABB is visible in a frustum | Dan Goodliffe | 2025-03-11 |
| | | |||
| * | Position is moved to Frustum | Dan Goodliffe | 2025-03-11 |
| | | |||
| * | Create AxisAlignedBoundingBox | Dan Goodliffe | 2025-03-11 |
| | | | | | Used to define the extents of GeoData mesh | ||
| * | Pass frustum into render functions | Dan Goodliffe | 2025-03-07 |
| | | | | | Support for culling objects outside the view frustum | ||
| * | Split core view definition out of Camera into Frustum | Dan Goodliffe | 2025-03-05 |
| | | |||
| * | Move camera out of gl folder, it's not OpenGL specific | Dan Goodliffe | 2025-03-05 |
| | | |||
| * | Have Camera keep an array of frustum plane definitions | Dan Goodliffe | 2025-03-05 |
| | | | | | Based on code from https://ktstephano.github.io/rendering/stratusgfx/aabbs | ||
| * | Cache the camera's view matrix | Dan Goodliffe | 2025-03-02 |
| | | |||
| * | 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 |
| | | |||
| * | Generate mipmaps if min/mag filter settings use them | Dan Goodliffe | 2024-12-24 |
| | | |||
