summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Wrap up some low level texture operations in glTexture classHEADmainDan Goodliffe24 hours
| | | | Fixes previously hard coded billboard texture size.
* Refactor glArrays to better expose underlying typesDan Goodliffe3 days
| | | | | Current they're all glNamed, but this can be sub-classed for specific things, e.g. glTexture.
* Billboard foliageDan Goodliffe3 days
| | | | | | Partition the instances by within/without the view frustum, then by proximity to the view point and within/without the sunlight shadow frustum. Use billboards for far away/out of view instances.
* 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.
* Use RelativeDistance in Camera near/fear and expose member variablesDan Goodliffe3 days
|
* 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.
* Simplified FrustumDan Goodliffe11 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 DetailDan Goodliffe11 days
|
* Simplified and tidied ShadowMapperDan Goodliffe11 days
| | | | | No arbitrary 10m extra extents. No runtime vectors. Simpler code. Consts. etc.
* Correctly scale frustum plane vectorsDan Goodliffe11 days
| | | | Fixes comparison with real world (sphere) size parameter.
* Fix up the preFrame process to use both frustumsDan Goodliffe13 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 workDan Goodliffe2026-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 FrustumDan Goodliffe2026-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 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.
* Ensure ANALYSIS_DIRECTORY root folder is created up frontDan Goodliffe2026-02-14
|
* Fix initialising new entries in glContainer::resizeDan Goodliffe2026-02-14
|
* Don't write test output to /tmp, use ANALYSIS_DIRECTORY insteadDan Goodliffe2026-02-06
|
* Merge branch 'glmax'Dan Goodliffe2026-02-06
|\
| * 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.
* Tidy thirdparty jam, use -isystem for thirdparty includesDan Goodliffe2026-01-16
| | | | Removes the need to disable warnings for imgui includes.
* Pass shaders through glslangValidatorDan Goodliffe2026-01-16
| | | | Fixes the issues it picked up.
* Add constexpr lround for glm::vecDan Goodliffe2026-01-15
|
* Bump glad to v2.0.8Dan Goodliffe2026-01-08
|
* Fix base class order of DummyMainApplicationDan Goodliffe2026-01-08
| | | | | Fixes order of destruction so assets are fully destructed before the GL context is destroyed.
* Always GL_DYNAMIC_DRAW in glMappedBufferWriterDan Goodliffe2026-01-07
| | | | Addresses performance warning from using GL_STATIC_DRAW.
* Don't define new diagnostic variants locallyDan Goodliffe2026-01-07
|
* Fix all warnings in test/Dan Goodliffe2025-05-01
|
* Fix all warnings in performance testsDan Goodliffe2025-04-28
|
* Fix all warnings in enumeration details code/testsDan Goodliffe2025-04-28
|
* Fix space between operator"" and its nameDan Goodliffe2025-04-27
| | | | Deprecated format in C++23, picked up by gcc-15
* Avoid out parameters with Ray::intersectSphereDan Goodliffe2025-04-24
|
* Avoid out parameters with Ray::intersectTriangleDan Goodliffe2025-04-24
|
* Fix all warnings game/network/*Dan Goodliffe2025-04-23
| | | | Mostly naming of variables.
* Merge branch 'resviewer'Dan Goodliffe2025-04-18
|\
| * Remember selected asset id and reload/reselect resource file on changeDan Goodliffe2025-04-15
| |
| * Fix operator precedence warningDan Goodliffe2025-04-09
| |
| * Add boost_program_options for command line parsingDan Goodliffe2025-04-09
| |