1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-03 13:03:38 +00:00
lovr/etc/shaders/unlit.vert

41 lines
962 B
GLSL

#version 460
#extension GL_EXT_multiview : require
struct Camera {
mat4 view;
mat4 projection;
mat4 viewProjection;
mat4 inverseProjection;
};
struct PerDraw {
mat4 transform;
mat4 normalMatrix;
vec4 color;
};
layout(set = 0, binding = 0) uniform Cameras { Camera cameras[6]; };
layout(set = 0, binding = 1) uniform Draws { PerDraw draws[256]; };
layout(set = 0, binding = 2) uniform sampler defaultSampler;
layout(location = 0) in vec4 inPosition;
layout(location = 1) in vec4 inNormal;
layout(location = 2) in vec4 inUV;
layout(location = 3) in vec4 inColor;
layout(location = 4) in vec4 inTangent;
layout(location = 0) out vec4 outColor;
layout(location = 1) out vec4 outUV;
void main() {
uint drawId = gl_BaseInstance & 0xff;
outColor = vec4(1.);
outColor *= draws[drawId].color;
outUV = inUV;
gl_Position = cameras[gl_ViewIndex].viewProjection * (draws[drawId].transform * vec4(inPosition.xyz, 1.));
gl_PointSize = 1.f;
}