fix shader_material_glsl example (#9513)

# Objective

- Since #9416, example shader_material_glsl is broken
<img width="1280" alt="Screenshot 2023-08-20 at 21 08 41"
src="https://github.com/bevyengine/bevy/assets/8672791/16bc15ee-a58c-4ec6-87a8-c3799a6df74a">

## Solution

- Apply the same function as other examples, but in glsl
This commit is contained in:
François 2023-08-21 09:58:21 +02:00 committed by GitHub
parent bc50682360
commit 8cd77e8cad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,7 +17,7 @@ layout(set = 0, binding = 0) uniform CameraViewProj {
}; };
struct Mesh { struct Mesh {
mat4 Model; mat3x4 Model;
mat4 InverseTransposeModel; mat4 InverseTransposeModel;
uint flags; uint flags;
}; };
@ -30,9 +30,18 @@ layout(set = 2, binding = 0) readonly buffer _Meshes {
}; };
#endif // PER_OBJECT_BUFFER_BATCH_SIZE #endif // PER_OBJECT_BUFFER_BATCH_SIZE
mat4 affine_to_square(mat3x4 affine) {
return transpose(mat4(
affine[0],
affine[1],
affine[2],
vec4(0.0, 0.0, 0.0, 1.0)
));
}
void main() { void main() {
v_Uv = Vertex_Uv; v_Uv = Vertex_Uv;
gl_Position = ViewProj gl_Position = ViewProj
* Meshes[gl_InstanceIndex].Model * affine_to_square(Meshes[gl_InstanceIndex].Model)
* vec4(Vertex_Position, 1.0); * vec4(Vertex_Position, 1.0);
} }