diff options
| author | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2026-03-30 13:04:36 +0100 |
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-03-31 00:37:24 +0100 |
| commit | fb78c88576d9fed90ee69dfa35a9fbd3179ff486 (patch) | |
| tree | 3666e8c7a7ebf56b5d9e6919093c3a9c7766a750 /gfx/gl/shaders/billboard.vert | |
| parent | Use uint32_t for indexes in InstanceVertices (diff) | |
| download | ilt-fb78c88576d9fed90ee69dfa35a9fbd3179ff486.tar.bz2 ilt-fb78c88576d9fed90ee69dfa35a9fbd3179ff486.tar.xz ilt-fb78c88576d9fed90ee69dfa35a9fbd3179ff486.zip | |
Use a single buffer for the location/rotation data of all renderable objects
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)
Diffstat (limited to 'gfx/gl/shaders/billboard.vert')
| -rw-r--r-- | gfx/gl/shaders/billboard.vert | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gfx/gl/shaders/billboard.vert b/gfx/gl/shaders/billboard.vert index faf8b19..d6d3869 100644 --- a/gfx/gl/shaders/billboard.vert +++ b/gfx/gl/shaders/billboard.vert @@ -1,12 +1,15 @@ #version 460 core +#extension GL_ARB_shading_language_include : enable + +#include "commonLocationData.glsl" uniform mat4 viewProjection; uniform ivec4 viewPort; uniform ivec3 viewPoint; uniform vec3 centre; uniform float size; -layout(location = 0) in ivec3 modelPos; -layout(location = 1) in float yaw; + +layout(location = 0) in uint index; flat out vec3 ModelPos; flat out float Yaw; @@ -15,8 +18,9 @@ flat out float Depth; void main() { + const ivec3 modelPos = locations[cldIndex[index]].position.xyz; ModelPos = modelPos - viewPoint; - Yaw = yaw; + Yaw = locations[cldIndex[index]].rotation.x; gl_Position = viewProjection * vec4(ModelPos + centre, 1); Depth = gl_Position.w; gl_PointSize = (viewPort.w * size * 2) / gl_Position.w; |
