diff --git a/src/core/shader_input/gryphn_shader_layout.h b/src/core/shader_input/gryphn_shader_layout.h new file mode 100644 index 0000000..bb45568 --- /dev/null +++ b/src/core/shader_input/gryphn_shader_layout.h @@ -0,0 +1,25 @@ +#pragma once +#include "stdint.h" +#include "stdlib.h" + +typedef enum gnVertexFormat { + GN_FLOAT2 +} gnVertexFormat; + +typedef struct gnVertexAttribute { + uint32_t location; + gnVertexFormat format; + size_t offset; +} gnVertexAttribute; + +typedef struct gnBufferAttribute { + uint32_t binding; + size_t size; + uint32_t attributeCount; + gnVertexAttribute* attributes; +} gnBufferAttribute; + +typedef struct gnShaderInputLayout { + uint32_t bufferCount; + gnBufferAttribute* bufferAttributes; +} gnShaderInputLayout;