summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
| |
| * Reasonably function asset viewing functionalityDan Goodliffe2025-04-09
| |
| * Remove GameMainWindow empty destructor and special membersDan Goodliffe2025-04-08
| |
| * Create Windows with a size objectDan Goodliffe2025-04-08
| | | | | | | | Not individual width/height parameters.
| * Create WindowContent with a size objectDan Goodliffe2025-04-08
| | | | | | | | Not individual width/height parameters.
| * Update the SceneShader's view port on sceneRenderer resizeDan Goodliffe2025-04-08
| |
| * Add Asset interface to create an arbitrarily placed instanceDan Goodliffe2025-04-07
| | | | | | | | | | InstanceProxy is returned out via a std::any containing a std::shared_ptr because any can only contain copyable things.
| * More uniform/flexible window constructorsDan Goodliffe2025-04-07
| |