Fix skinned mesh normal handling in mesh shader (#5095)

# Objective

Update pbr mesh shader to use correct normals for skinned meshes.

## Solution

Only use `mesh_normal_local_to_world` for normals if `SKINNED` is not defined.
This commit is contained in:
Edward Vear 2022-06-25 09:54:33 +00:00
parent ad88bdae5c
commit 5a3e77716a

View File

@ -41,9 +41,9 @@ fn vertex(vertex: Vertex) -> VertexOutput {
out.world_normal = skin_normals(model, vertex.normal); out.world_normal = skin_normals(model, vertex.normal);
#else #else
var model = mesh.model; var model = mesh.model;
out.world_normal = mesh_normal_local_to_world(vertex.normal);
#endif #endif
out.world_position = mesh_position_local_to_world(model, vec4<f32>(vertex.position, 1.0)); out.world_position = mesh_position_local_to_world(model, vec4<f32>(vertex.position, 1.0));
out.world_normal = mesh_normal_local_to_world(vertex.normal);
out.uv = vertex.uv; out.uv = vertex.uv;
#ifdef VERTEX_TANGENTS #ifdef VERTEX_TANGENTS
out.world_tangent = mesh_tangent_local_to_world(model, vertex.tangent); out.world_tangent = mesh_tangent_local_to_world(model, vertex.tangent);