| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
| |
Mostly naming and bracketing.
|
| |
|
|
| |
Missing #pragma once in particular.
|
| |
|
|
|
|
|
| |
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.
|