| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Add wrapper for ImGui::TextEx for any contiguous char range | Dan Goodliffe | 3 days |
| | | |||
| * | Improve calculations of the amount and colour of ambient and directional sun ↵ | Dan Goodliffe | 3 days |
| | | | | | light | ||
| * | Improve light approximations in LightDirection | Dan Goodliffe | 3 days |
| | | | | | | | | | | Twilight replaces astronomical twilight to give a longer fade. Astronomical twilight is only the darkest part of twilight, which we had skipped right to. Fixes directional light amount to only be affected by the sun's passing below th horizon, not it's whole height above it. Adds a rough approximation of the amount of atmosphere scattering of directional light (I made this calculation up) | ||
| * | Fix warnings in Environment:getSunPos | Dan Goodliffe | 3 days |
| | | | | | Mostly naming and bracketing. | ||
| * | Fix warnings in glAllocator.h | Dan Goodliffe | 3 days |
| | | | | | Missing #pragma once in particular. | ||
| * | glAllocator revamp | Dan Goodliffe | 2026-03-15 |
| | | | | | | | | Remove the map of buffers, now a fat pointer containing the buffer's name. This is accessible via the container's begin/end iterator. Move the bulk of the logic out of the template, it's mostly void * from the mapping anyway. Add allocate_at_least support. | ||
| * | Add missing algorithm include | Dan Goodliffe | 2026-03-15 |
| | | |||
| * | Avoid UB in calculating member offset | Dan Goodliffe | 2026-03-15 |
| | | | | | Bit hacky; local dummy var to base a fake pointer on. | ||
| * | Remove unused bits from gameMainSelector.cpp | Dan Goodliffe | 2026-03-15 |
| | | |||
| * | Expose Camera's aspect ratio | Dan Goodliffe | 2026-03-15 |
| | | |||
| * | Fix class/struct mix-up friending test case | Dan Goodliffe | 2026-03-15 |
| | | |||
| * | Bump ctre to latest | Dan Goodliffe | 2026-03-15 |
| | | |||
| * | Don't pass null to Texture constructor pixel data | Dan Goodliffe | 2026-03-14 |
| | | | | | | Pixel data variant now proxies to the simple version and then uploads the image data, instead of vice versa with nullptr pixels. | ||
| * | Shared VAO for all 3 parts of RailVehicleClass | Dan Goodliffe | 2026-03-12 |
| | | | | | | | Rearranges its LocationVertex to be 3 repeated Parts. Adds helpers to glvglVertexArray for useBuffer with various offsets. Render is then an iteration of the meshes and the location data at the nth offset. | ||
| * | Reuse vertex array objects for common structures with DSA | Dan Goodliffe | 2026-03-11 |
| | | | | | Slashes the number of VAOs required and the amount of setup required. | ||
| * | Add missing typename exporting base::value_type from InstanceVertices | Dan Goodliffe | 2026-03-11 |
| | | |||
| * | Sprinkling of glDebugScope in assets and render parts | Dan Goodliffe | 2026-03-11 |
| | | |||
| * | Split addAttribsFor away from requiring a buffer to bind | Dan Goodliffe | 2026-03-11 |
| | | |||
| * | Replace hacky m4 shader preprocessing with proper glslang version | Dan Goodliffe | 2026-03-10 |
| | | |||
| * | Refactor glMappedBufferWriter into a DSA wrapper for std::span | Dan Goodliffe | 2026-03-10 |
| | | |||
| * | Switch frame and render buffer to DSA helpers | Dan Goodliffe | 2026-03-10 |
| | | |||
| * | Switch to floating point, camera relative position buffer | Dan Goodliffe | 2026-03-10 |
| | | |||
| * | Specialise glTexture::savePosition | Dan Goodliffe | 2026-03-09 |
| | | | | | | Normalises the range of position information into the range 0-255 so the resulting image is remotely useful. | ||
| * | Remove identifier naming lint comments, gl* is fine | Dan Goodliffe | 2026-03-08 |
| | | |||
| * | Move all low level texture operations to DSA helpers in glTexture | Dan Goodliffe | 2026-03-08 |
| | | |||
| * | Replace gl_traits glTexParameter with glTexture::parameter DSA wrapper | Dan Goodliffe | 2026-03-07 |
| | | |||
| * | Fix naming violations in Mesh | Dan Goodliffe | 2026-03-07 |
| | | | | | | They've existed and been annoying since the day I first created it from online examples. | ||
| * | Add glVertexArray useBuffer | Dan Goodliffe | 2026-03-07 |
| | | | | | | | Wraps glVertexArrayVertexBuffer automatically getting the buffer name from the argument and deriving the stride from the container's value_type. | ||
| * | Don't create and then replace shadow and billboard textures | Dan Goodliffe | 2026-03-07 |
| | | |||
| * | Merge branch 'glalloc' | Dan Goodliffe | 2026-03-07 |
| |\ | |||
| | * | Replace glContainer with glAllocator | Dan Goodliffe | 2026-03-07 |
| | | | | | | | | | | | | | | | glContainer is no longer required, as we can use std::vector with a custom allocator which uses OpenGL buffers for storage. Minor irritation is that the mapped buffers aren't guaranteed to be flushed in the tests, so sometimes we're missing bits in a test render. | ||
| | * | Remove VertexArrayObject and supporting non-DSA gl_traits helpers | Dan Goodliffe | 2026-03-06 |
| | | | |||
| | * | Replace use of VertexArrayObject with glVertexArray/glBuffer DSA versions | Dan Goodliffe | 2026-03-06 |
| | | | |||
| | * | Extend glVertexArray with VertexArrayConfigurator | Dan Goodliffe | 2026-03-06 |
| | | | | | | | | | DSA version of VertexArrayObject. | ||
| | * | Replace generic glBuffer type alias with a full implementation | Dan Goodliffe | 2026-03-06 |
| | | | | | | | | | Adds wrappers for DSA storage and data uploads. | ||
| | * | Define SequentialCollection in terms of contiguous_range | Dan Goodliffe | 2026-03-06 |
| | | | |||
| | * | Add vertexAttribFormatFunc to gl_traits for DSA vertex configuration | Dan Goodliffe | 2026-03-06 |
| | | | |||
| | * | Include a stacktrace in Boost test context reported for OpenGL errors | Dan Goodliffe | 2026-03-06 |
| | | | |||
| | * | Replace basic glVertexArray with a specific class ready for helpers | Dan Goodliffe | 2026-03-04 |
| |/ | |||
| * | Update stencils and billboards less often | Dan Goodliffe | 2026-03-04 |
| | | | | | | | | No need to update these every frame when little of nothing has changed. Instead, track the angle previously rendered and updated only when the new angle has diverged sufficiently from this. Larger updates update more frequently. | ||
| * | Calculate an appropriate billboardSize and useMeshClipDist | Dan Goodliffe | 2026-03-02 |
| | | | | | Removes hard coded arbitrary numbers for 256px sq and 140m. | ||
| * | Wrap up some low level texture operations in glTexture class | Dan Goodliffe | 2026-03-02 |
| | | | | | Fixes previously hard coded billboard texture size. | ||
| * | Refactor glArrays to better expose underlying types | Dan Goodliffe | 2026-02-28 |
| | | | | | | Current they're all glNamed, but this can be sub-classed for specific things, e.g. glTexture. | ||
| * | Billboard foliage | Dan Goodliffe | 2026-02-28 |
| | | | | | | | 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 SceneShader | Dan Goodliffe | 2026-02-28 |
| | | | | | | 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 variables | Dan Goodliffe | 2026-02-28 |
| | | |||
| * | Allow specifying all three partition functions independently | Dan Goodliffe | 2026-02-28 |
| | | | | | | Two predicate version behaviour is unchanged, the second predicate is just the inverse of the third. | ||
| * | Support for the BillboardPainter | Dan Goodliffe | 2026-02-28 |
| | | | | | | 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 | 2026-02-23 |
| | | | | | | Clients now just call that one helper and SceneProvider passes in all the renderables. | ||
| * | Simplified Frustum | Dan Goodliffe | 2026-02-21 |
| | | | | | | | | | | | | 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. | ||
