50 lines
1001 B
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;
|