fix memory layout
This commit is contained in:
@@ -32,6 +32,7 @@ for shader in normal_shaders:
|
||||
f"-I{SHADERS_INCLUDE}",
|
||||
"--spirv-val",
|
||||
"-gVS",
|
||||
# "-q",
|
||||
"--target-env",
|
||||
TARGET_ENV,
|
||||
"-o",
|
||||
|
||||
@@ -45,6 +45,9 @@ layout(set = 0, binding = 3, std430) restrict readonly buffer Indicies {
|
||||
} indicies;
|
||||
|
||||
struct Object {
|
||||
// TRANSFORM
|
||||
uint transform_offset;
|
||||
|
||||
// MESH
|
||||
uint vert_offset;
|
||||
uint index_offset;
|
||||
@@ -55,7 +58,6 @@ struct Object {
|
||||
uint subdivision_log2;
|
||||
|
||||
// MATERIAL
|
||||
vec4 colour_and_roughness;
|
||||
float metallic;
|
||||
float subsurface;
|
||||
float specular;
|
||||
@@ -64,9 +66,7 @@ struct Object {
|
||||
float sheen_tint;
|
||||
float clear_coat_gloss;
|
||||
float clear_coat;
|
||||
|
||||
// TRANSFORM
|
||||
uint transform_offset;
|
||||
vec4 colour_and_roughness;
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 4, std430) restrict readonly buffer Objects {
|
||||
@@ -74,10 +74,9 @@ layout(set = 0, binding = 4, std430) restrict readonly buffer Objects {
|
||||
} objects;
|
||||
|
||||
struct Transform {
|
||||
vec3 x;
|
||||
vec3 y;
|
||||
vec3 z;
|
||||
vec3 w;
|
||||
vec4 x;
|
||||
vec4 y;
|
||||
vec4 z;
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 5, std430) restrict readonly buffer Transforms {
|
||||
|
||||
@@ -26,7 +26,7 @@ void main() {
|
||||
|
||||
// transform to world space
|
||||
Transform t = transforms.transforms[obj.transform_offset];
|
||||
mat3 object_transform = mat3(t.x, t.y, t.z);
|
||||
mat3 object_transform = mat3(t.x.xyz, t.y.xyz, t.z.xyz);
|
||||
vec3 normal = normalize((inverse(object_transform) * local_normal).xyz);
|
||||
|
||||
hit_value.normal = normal;
|
||||
|
||||
Reference in New Issue
Block a user