new shader
This commit is contained in:
parent
6f369cbec1
commit
fdc86a3c03
1 changed files with 37 additions and 0 deletions
37
shadersrc/tri_mesh.vert
Normal file
37
shadersrc/tri_mesh.vert
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
#version 460
|
||||||
|
layout (location = 0) in vec3 vPosition;
|
||||||
|
layout (location = 1) in vec3 vNormal;
|
||||||
|
layout (location = 2) in vec4 vColor;
|
||||||
|
|
||||||
|
layout (location = 0) out vec4 outColor;
|
||||||
|
|
||||||
|
layout(set = 0, binding = 0) uniform CameraBuffer{
|
||||||
|
mat4 view;
|
||||||
|
mat4 proj;
|
||||||
|
mat4 viewproj;
|
||||||
|
} cameraData;
|
||||||
|
|
||||||
|
struct ObjectData{
|
||||||
|
mat4 model;
|
||||||
|
};
|
||||||
|
|
||||||
|
//all object matrices
|
||||||
|
layout(std140,set = 1, binding = 0) readonly buffer ObjectBuffer{
|
||||||
|
|
||||||
|
ObjectData objects[];
|
||||||
|
} objectBuffer;
|
||||||
|
|
||||||
|
//push constants block
|
||||||
|
layout( push_constant ) uniform constants
|
||||||
|
{
|
||||||
|
vec4 data;
|
||||||
|
mat4 render_matrix;
|
||||||
|
} PushConstants;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
mat4 modelMatrix = objectBuffer.objects[gl_BaseInstance].model;
|
||||||
|
mat4 transformMatrix = (cameraData.viewproj * modelMatrix);
|
||||||
|
gl_Position = transformMatrix * vec4(vPosition, 1.0f);
|
||||||
|
outColor = vColor;
|
||||||
|
}
|
Loading…
Reference in a new issue