Skip to content

Commit

Permalink
gate depth reads on !WEBGL2 (bevyengine#10365)
Browse files Browse the repository at this point in the history
# Objective

fix bevyengine#10364 

## Solution

gate depth prepass reads in pbr_transmission.wgsl by `#ifndef WEBGL2`
  • Loading branch information
robtfm authored and ameknite committed Nov 6, 2023
1 parent a0775cb commit 6b3ffa1
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions crates/bevy_pbr/src/render/pbr_transmission.wgsl
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,13 @@ fn fetch_transmissive_background_non_rough(offset_position: vec2<f32>, frag_coor
);

#ifdef DEPTH_PREPASS
#ifndef WEBGL2
// Use depth prepass data to reject values that are in front of the current fragment
if prepass_utils::prepass_depth(vec4<f32>(offset_position * view_bindings::view.viewport.zw, 0.0, 0.0), 0u) > frag_coord.z {
background_color.a = 0.0;
}
#endif
#endif

#ifdef TONEMAP_IN_SHADER
background_color = approximate_inverse_tone_mapping(background_color, view_bindings::view.color_grading);
Expand Down Expand Up @@ -157,10 +159,12 @@ fn fetch_transmissive_background(offset_position: vec2<f32>, frag_coord: vec3<f3
);

#ifdef DEPTH_PREPASS
#ifndef WEBGL2
// Use depth prepass data to reject values that are in front of the current fragment
if prepass_utils::prepass_depth(vec4<f32>(modified_offset_position * view_bindings::view.viewport.zw, 0.0, 0.0), 0u) > frag_coord.z {
sample = vec4<f32>(0.0);
}
#endif
#endif

// As blur intensity grows higher, gradually limit *very bright* color RGB values towards a
Expand Down

0 comments on commit 6b3ffa1

Please sign in to comment.