Skip to content

Commit

Permalink
Apply uv transform in the prepass (bevyengine#13250)
Browse files Browse the repository at this point in the history
# Objective

- The UV transform was applied in the main pass but not the prepass.

## Solution

- Apply the UV transform in the prepass.

## Testing

- The normals in my scene now look correct when using the prepass.
  • Loading branch information
DGriffin91 authored May 13, 2024
1 parent 0eb4bb6 commit 519ed5d
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions crates/bevy_pbr/src/render/pbr_prepass.wgsl
Original file line number Diff line number Diff line change
Expand Up @@ -54,18 +54,18 @@ fn fragment(
#ifdef STANDARD_MATERIAL_NORMAL_MAP

#ifdef STANDARD_MATERIAL_NORMAL_MAP_UV_B
let uv = in.uv_b;
let uv = (material.uv_transform * vec3(in.uv_b, 1.0)).xy;
#else
let uv = in.uv;
let uv = (material.uv_transform * vec3(in.uv, 1.0)).xy;
#endif

// Fill in the sample bias so we can sample from textures.
var bias: SampleBias;
// Fill in the sample bias so we can sample from textures.
var bias: SampleBias;
#ifdef MESHLET_MESH_MATERIAL_PASS
bias.ddx_uv = in.ddx_uv;
bias.ddy_uv = in.ddy_uv;
bias.ddx_uv = in.ddx_uv;
bias.ddy_uv = in.ddy_uv;
#else // MESHLET_MESH_MATERIAL_PASS
bias.mip_bias = view.mip_bias;
bias.mip_bias = view.mip_bias;
#endif // MESHLET_MESH_MATERIAL_PASS

let Nt = pbr_functions::sample_texture(
Expand Down

0 comments on commit 519ed5d

Please sign in to comment.