| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Pixel data variant now proxies to the simple version and then uploads
the image data, instead of vice versa with nullptr pixels.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
Slashes the number of VAOs required and the amount of setup required.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
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.
|
| |
|
|
| |
Removes hard coded arbitrary numbers for 256px sq and 140m.
|
| |
|
|
| |
Fixes previously hard coded billboard texture size.
|
| |
|
|
|
| |
Current they're all glNamed, but this can be sub-classed for specific
things, e.g. glTexture.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
No arbitrary 10m extra extents. No runtime vectors. Simpler code.
Consts. etc.
|
| |
|
|
| |
Fixes comparison with real world (sphere) size parameter.
|
| |
|
|
|
|
| |
(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.
|
| |
|
|
|
| |
In theory, this phase should be parallelisable before being pushed out
by the render loop.
|