28 lines
577 B
GLSL
28 lines
577 B
GLSL
#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);
|
|
}
|