summaryrefslogtreecommitdiff
path: root/gfx/gl
Commit message (Collapse)AuthorAge
* Wrap up some low level texture operations in glTexture classHEADmainDan Goodliffe18 hours
| | | | Fixes previously hard coded billboard texture size.
* Add BillboardProgram to SceneShaderDan Goodliffe3 days
| | | | | The implementation is overly simple/incomplete, I'm not even convince what is there is right, but it's a decent start.
* Allow specifying all three partition functions independentlyDan Goodliffe3 days
| | | | | Two predicate version behaviour is unchanged, the second predicate is just the inverse of the third.
* Support for the BillboardPainterDan Goodliffe3 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 SceneRendererDan Goodliffe8 days
| | | | | Clients now just call that one helper and SceneProvider passes in all the renderables.
* Reduce shader includes, doesn't use materialInterface, just DetailDan Goodliffe10 days
|
* Simplified and tidied ShadowMapperDan Goodliffe10 days
| | | | | No arbitrary 10m extra extents. No runtime vectors. Simpler code. Consts. etc.
* Fix up the preFrame process to use both frustumsDan Goodliffe12 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.
* Refactor test-instancing so the data is generated in a common fixtureDan Goodliffe2026-02-14
| | | | Includes exposure of InstanceVertices::reserve because why not.
* Add support for partitioning by 2 unary predicatesDan Goodliffe2026-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::partitionDan Goodliffe2026-02-14
| | | | More useful in the context of passing them to OpenGL.
* Make similar array tidy-up to networkStraight shadersDan Goodliffe2026-01-31
| | | | And merge common functionality from networkCurve.
* Tidy networkCurve shadersDan Goodliffe2026-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 expectationsDan Goodliffe2026-01-31
| | | | | Swaps name/type of generated files to match class names and source files.
* Initial commit using tesselation shader to create curvesDan Goodliffe2026-01-31
| | | | Disables glslangValidator because of file extension mess up.
* Update OpenGL context and shaders to v4.6Dan Goodliffe2026-01-29
| | | | | Note: doesn't remove/replace older functions where newer ones might be better.
* Fix search/replace of GL_* macros in glslDan Goodliffe2026-01-29
|
* Explicit cast to vec3 to disambiguate length/distance calcDan Goodliffe2026-01-26
|
* Fix warnings and minor tidy for GL lookupsDan Goodliffe2026-01-26
|
* Include GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS in networkCurve output calcDan Goodliffe2026-01-23
|
* Add glDebugScopeDan Goodliffe2026-01-16
| | | | | Wrapper for glPushDebugGroup/glPopDebugGroup which allows neatly grouping OpenGL calls in diagnostic tools.
* Pass shaders through glslangValidatorDan Goodliffe2026-01-16
| | | | Fixes the issues it picked up.
* Update the SceneShader's view port on sceneRenderer resizeDan Goodliffe2025-04-08
|
* Default environment direction light shines down, not upDan Goodliffe2025-04-07
|
* Merge branch 'imgui'Dan Goodliffe2025-04-02
|\
| * Remove unrequired UIShaderDan Goodliffe2025-03-19
| |
* | Add ManyPtr which tracks specified subclassesDan Goodliffe2025-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 SceneRendererDan Goodliffe2025-03-14
|
* Rebalance shadow band distributionDan Goodliffe2025-03-11
| | | | Extends the initial band from around 34m to around 100m.
* Initialise shadow bounding box to light view pointDan Goodliffe2025-03-11
| | | | Then extended to cover the view extents.
* Pass a Frustum to shadow renderersDan Goodliffe2025-03-11
| | | | The frustum might not be correct at this stage.
* Simplify ShadowMapper with AxisAlignedBoundingBoxDan Goodliffe2025-03-11
|
* Pass frustum into render functionsDan Goodliffe2025-03-07
| | | | Support for culling objects outside the view frustum
* Move camera out of gl folder, it's not OpenGL specificDan Goodliffe2025-03-05
|
* Have Camera keep an array of frustum plane definitionsDan Goodliffe2025-03-05
| | | | Based on code from https://ktstephano.github.io/rendering/stratusgfx/aabbs
* Cache the camera's view matrixDan Goodliffe2025-03-02
|
* 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
|
* Basic soft shadowsDan Goodliffe2024-10-26
|
* Merge branch 'billboard-shadows'Dan Goodliffe2024-10-22
|\
| * Move lots of maths helpers to inline, constexpr, templatesDan Goodliffe2024-10-20
| | | | | | | | Always for working with different dimensions/types
| * Misc readability fixesDan Goodliffe2024-10-17
| |
| * Re-express viewProjections calculations as a fold expressionDan Goodliffe2024-10-17
| |
| * Remove magic number for stencil view anglesDan Goodliffe2024-10-17
| |
| * Don't assume size of stencil textureDan Goodliffe2024-10-17
| |
| * Better shadowBands sizesDan Goodliffe2024-10-17
| | | | | | | | Still a bit arbitrary, but calculated now to scale across the required range
| * Generate stencils as views offset from light directionDan Goodliffe2024-10-10
| |
| * Use foliage yaw rotation to select shadow stencil layerDan Goodliffe2024-10-10
| |
| * Include foliage yaw rotation in vertex, pass through instead of whole model ↵Dan Goodliffe2024-10-10
| | | | | | | | rotation matrix
| * Fix stencil shadow depth offsetDan Goodliffe2024-10-10
| |