| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
Defines a world time type alias, a game time scale factor (the rate at
which world time progresses compare to real time) and display the world
time on the status bar.
|
| |
|
|
| |
light
|
| |
|
|
| |
Mostly naming and bracketing.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
(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.
|
| |
|
|
| |
Disables glslangValidator because of file extension mess up.
|
| | |
|
| | |
|
| |
|
|
| |
Mostly naming of variables.
|
| |
|
|
|
| |
InstanceProxy is returned out via a std::any containing a
std::shared_ptr because any can only contain copyable things.
|
| |
|
|
|
| |
Same code copied inline, but adjusted to avoid normalising using Scalar
which is an integral type.
|
| | |
|
| |
|
|
|
| |
Keeps all required features accessible, but through a controlled
interface.
|
| |
|
|
| |
Template param is a pointer now, typedefs added for ease.
|
| |
|
|
|
|
| |
This removes the need to repeated dynamic_cast the pointer.
Provides interface which enforces the fastest option for the required
types.
|
| |
|
|
|
|
| |
Also removes incorrect optimisation that a tile's AABB could be assumed
from tile base position; in fact some faces cross the boundaries and the
AABB needs to account for this.
|
| | |
|
| |
|
|
| |
The frustum might not be correct at this stage.
|
| | |
|
| |
|
|
| |
Chunk by surface only, render if visible in frustum
|
| |
|
|
|
| |
No surface is simply the tile bounds, but with a surface, it's
constrained to just the bounds of the surface itself.
|
| | |
|
| |
|
|
| |
Used to define the extents of GeoData mesh
|
| |
|
|
| |
Support for culling objects outside the view frustum
|
| | |
|
| |
|
|
|
| |
Tile is derived per face based on the first vertices point rounded to
roughly 1km.
|
| |
|
|
|
| |
Creates mesh per surface based on a single buffer of all vertices and a collection of per surfuce indices.
Makes ColourBias a uniform instead of a vertex attribute.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Before doing vertex normal recalc only, not on every insert
|
| | |
|