Gears-C/src/shaders/glsl/structures.glsl

50 lines
1001 B
GLSL

// ==========================================
// ====== TODO: Research values here ========
// ==========================================
struct Vertex {
float uv_x;
float uv_y;
float x, y, z;
};
struct GUIVertex {
vec2 p0;
vec2 p1;
vec4 col;
};
layout (set = 0, binding = 0) uniform GlobalUniform {
vec2 res;
} Globals;
layout (set = 0, binding = 1) uniform ShaderOptions {
float placeholder;
} Options;
layout (rgba16f, set = 0, binding = 2) uniform image2D image;
layout (set = 1, binding = 0) uniform sampler2D Textures[];
layout (rgba8_snorm, set = 2, binding = 0) uniform image2D Images[];
layout (set = 3, binding = 0) uniform PBRMaterials {
vec3 albedo;
vec3 normal;
float metallic;
float roughness;
float ao;
} Materials[];
layout (std430, buffer_reference) readonly buffer VertexBuffer {
Vertex vertices[];
};
layout (std430, buffer_reference) readonly buffer GUIVertexBuffer {
GUIVertex vertices[];
};
layout (push_constant) uniform Constants {
vec2 res;
} PC;