Files
XCEngine/tests/RHI/integration/backpack/Res/Shader/backpack_vulkan.vert

29 lines
789 B
GLSL

#version 450
layout(location = 0) in vec4 aPosition;
layout(location = 1) in vec4 aNormal;
layout(location = 2) in vec2 aTexCoord;
layout(set = 0, binding = 0, std140) uniform SceneData {
mat4 gProjectionMatrix;
mat4 gViewMatrix;
mat4 gModelMatrix;
vec4 gCameraPosition;
vec4 gLightDirection;
vec4 gLightColor;
vec4 gAmbientColor;
};
layout(location = 0) out vec3 vWorldPosition;
layout(location = 1) out vec3 vWorldNormal;
layout(location = 2) out vec2 vTexCoord;
void main() {
vec4 worldPosition = gModelMatrix * aPosition;
vec4 viewPosition = gViewMatrix * worldPosition;
gl_Position = gProjectionMatrix * viewPosition;
vWorldPosition = worldPosition.xyz;
vWorldNormal = mat3(gModelMatrix) * aNormal.xyz;
vTexCoord = aTexCoord;
}