fix memory layout

This commit is contained in:
2026-02-05 22:18:34 +00:00
parent 5533f461cd
commit 3282724f81
3 changed files with 9 additions and 9 deletions
+1
View File
@@ -32,6 +32,7 @@ for shader in normal_shaders:
f"-I{SHADERS_INCLUDE}",
"--spirv-val",
"-gVS",
# "-q",
"--target-env",
TARGET_ENV,
"-o",
+7 -8
View File
@@ -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 {
+1 -1
View File
@@ -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;