#version 450 core #include "common.glsl" layout(location = 0) in vec3 aPos; layout(location = 1) in vec3 aNormal; layout(location = 2) in vec2 aUV; layout(location = 3) in vec3 aMisc; // layer, ao, kind out VS { vec3 worldPos; vec3 normal; vec2 uv; flat float layer; float ao; flat float kind; } o; void main() { o.worldPos = aPos; o.normal = aNormal; o.uv = aUV; o.layer = aMisc.x; o.ao = aMisc.y; o.kind = aMisc.z; gl_Position = uViewProj * vec4(aPos, 1.0); gl_ClipDistance[0] = dot(vec4(aPos, 1.0), uClipPlane); }