diff --git a/res/project/Avocado.mesh b/res/project/Avocado.mesh new file mode 100644 index 0000000..a2e454d Binary files /dev/null and b/res/project/Avocado.mesh differ diff --git a/res/project/res/shaders/default.frag b/res/project/res/shaders/default.frag new file mode 100644 index 0000000..e4bb0ff --- /dev/null +++ b/res/project/res/shaders/default.frag @@ -0,0 +1,8 @@ +#version 450 +#extension GL_EXT_nonuniform_qualifier : require + +layout(location = 0) out vec4 outColor; + +void main() { + outColor = vec4(1.0, 0.0, 1.0, 1.0); +} diff --git a/res/project/res/shaders/default.vert b/res/project/res/shaders/default.vert new file mode 100644 index 0000000..7384474 --- /dev/null +++ b/res/project/res/shaders/default.vert @@ -0,0 +1,32 @@ +#version 450 +#extension GL_EXT_nonuniform_qualifier : require + +struct Vertex { + vec4 position; + vec4 normal; + vec4 color; + vec2 uv[2]; +}; + +layout(set = 0, binding = 0) buffer ResourceBuffer { + layout(align = 16) Vertex resources[]; +} ResourceBuffers[]; + +layout(set = 0, binding = 1) buffer PositionBuffer { + uint resources[]; +} PositionBuffers[]; + +layout(set = 0, binding = 2) buffer ColorBuffer { + layout(align = 16) vec3 resources[]; +} ColorBuffers[]; + +layout(set = 0, binding = 3) buffer ccBuffer { + layout(align = 16) vec3 resources[]; +} ssBuffers[]; + +void main() { + Vertex vertex = ResourceBuffers[ nonuniformEXT(0) ].resources[PositionBuffers[ nonuniformEXT(0) ].resources[gl_VertexIndex] ]; + + + gl_Position = vec4(vertex.position.x, vertex.position.y, vertex.position[3], 1.0); +}