| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
Spot and point lights now existing in Renderable, the vertex data
contains the owning parent object's index in CommonLocationData, the
render step is just a single draw call.
|
| |
|
|
|
|
| |
Fixing passing a pointer to member of base class; previously the offset
was deduced relative to the structure it was in, not the vertex as a
whole.
|
| | |
|
| |
|
|
|
|
| |
Removes the BufferedLocation and BufferedLocationUpdater mess.
Note: appears to break bogie rendering in asset factory test only, same
symptom as broken network render test? (out of date buffer data)
|
| |
|
|
| |
Passable to GLSL and more than big enough
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Bit hacky; local dummy var to base a fake pointer on.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Normalises the range of position information into the range 0-255 so the
resulting image is remotely useful.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
They've existed and been annoying since the day I first created it from
online examples.
|
| |
|
|
|
|
| |
Wraps glVertexArrayVertexBuffer automatically getting the buffer name
from the argument and deriving the stride from the container's
value_type.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
DSA version of VertexArrayObject.
|
| |
|
|
| |
Adds wrappers for DSA storage and data uploads.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Fixes previously hard coded billboard texture size.
|
| |
|
|
|
| |
The implementation is overly simple/incomplete, I'm not even convince
what is there is right, but it's a decent start.
|
| |
|
|
|
| |
Two predicate version behaviour is unchanged, the second predicate is
just the inverse of the third.
|
| |
|
|
|
| |
Based on the ShadowStenciller, creates flattened images of a model for
simplified mass use in a scene.
|
| |
|
|
|
| |
Clients now just call that one helper and SceneProvider passes in all
the renderables.
|
| | |
|
| |
|
|
|
| |
No arbitrary 10m extra extents. No runtime vectors. Simpler code.
Consts. etc.
|
| |
|
|
|
|
| |
(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.
|
| |
|
|
| |
Includes exposure of InstanceVertices::reserve because why not.
|
| |
|
|
|
| |
Second predicate creates a single block of truthy values in the middle,
and two falsy blocks at each end.
|
| |
|
|
| |
More useful in the context of passing them to OpenGL.
|
| |
|
|
| |
And merge common functionality from networkCurve.
|
| |
|
|
|
|
|
|
|
| |
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/
|
| |
|
|
|
| |
Swaps name/type of generated files to match class names and source
files.
|
| |
|
|
| |
Disables glslangValidator because of file extension mess up.
|
| |
|
|
|
| |
Note: doesn't remove/replace older functions where newer ones might be
better.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Wrapper for glPushDebugGroup/glPopDebugGroup which allows neatly
grouping OpenGL calls in diagnostic tools.
|