Fix webgl2 feature gating affecting webgpu in transmission example (#18115)
# Objective Fixes #18095 ## Solution Update the feature gates so that `Taa`, etc are added if - Not on wasm - OR using webgpu ## Testing Check that `Taa` is disabled with appropriate messaging on webgl2 ``` cargo run -p build-wasm-example -- --api webgl2 transmission && basic-http-server examples/wasm/ ``` Check that `Taa` works on webgpu in chrome ``` cargo run -p build-wasm-example -- --api webgpu transmission && basic-http-server examples/wasm/ ``` Check that `Taa` still works in a native build ``` cargo run -example transmission ```
This commit is contained in:
parent
3be01c4d0f
commit
bfdd018d21
@ -35,7 +35,7 @@ use bevy::{
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
use bevy::core_pipeline::experimental::taa::{TemporalAntiAliasPlugin, TemporalAntiAliasing};
|
use bevy::core_pipeline::experimental::taa::{TemporalAntiAliasPlugin, TemporalAntiAliasing};
|
||||||
use rand::random;
|
use rand::random;
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ fn main() {
|
|||||||
// *Note:* TAA is not _required_ for specular transmission, but
|
// *Note:* TAA is not _required_ for specular transmission, but
|
||||||
// it _greatly enhances_ the look of the resulting blur effects.
|
// it _greatly enhances_ the look of the resulting blur effects.
|
||||||
// Sadly, it's not available under WebGL.
|
// Sadly, it's not available under WebGL.
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
app.add_plugins(TemporalAntiAliasPlugin);
|
app.add_plugins(TemporalAntiAliasPlugin);
|
||||||
|
|
||||||
app.run();
|
app.run();
|
||||||
@ -317,9 +317,9 @@ fn setup(
|
|||||||
},
|
},
|
||||||
Tonemapping::TonyMcMapface,
|
Tonemapping::TonyMcMapface,
|
||||||
Exposure { ev100: 6.0 },
|
Exposure { ev100: 6.0 },
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
Msaa::Off,
|
Msaa::Off,
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
TemporalAntiAliasing::default(),
|
TemporalAntiAliasing::default(),
|
||||||
EnvironmentMapLight {
|
EnvironmentMapLight {
|
||||||
intensity: 25.0,
|
intensity: 25.0,
|
||||||
@ -471,7 +471,7 @@ fn example_control_system(
|
|||||||
camera.hdr = !camera.hdr;
|
camera.hdr = !camera.hdr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
if input.just_pressed(KeyCode::KeyD) {
|
if input.just_pressed(KeyCode::KeyD) {
|
||||||
if depth_prepass.is_none() {
|
if depth_prepass.is_none() {
|
||||||
commands.entity(camera_entity).insert(DepthPrepass);
|
commands.entity(camera_entity).insert(DepthPrepass);
|
||||||
@ -480,7 +480,7 @@ fn example_control_system(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(all(feature = "webgl2", target_arch = "wasm32")))]
|
#[cfg(any(feature = "webgpu", not(target_arch = "wasm32")))]
|
||||||
if input.just_pressed(KeyCode::KeyT) {
|
if input.just_pressed(KeyCode::KeyT) {
|
||||||
if temporal_jitter.is_none() {
|
if temporal_jitter.is_none() {
|
||||||
commands
|
commands
|
||||||
@ -572,7 +572,7 @@ fn example_control_system(
|
|||||||
state.perceptual_roughness,
|
state.perceptual_roughness,
|
||||||
state.reflectance,
|
state.reflectance,
|
||||||
if camera.hdr { "ON " } else { "OFF" },
|
if camera.hdr { "ON " } else { "OFF" },
|
||||||
if cfg!(any(not(feature = "webgl2"), not(target_arch = "wasm32"))) {
|
if cfg!(any(feature = "webgpu", not(target_arch = "wasm32"))) {
|
||||||
if depth_prepass.is_some() {
|
if depth_prepass.is_some() {
|
||||||
"ON "
|
"ON "
|
||||||
} else {
|
} else {
|
||||||
@ -581,7 +581,7 @@ fn example_control_system(
|
|||||||
} else {
|
} else {
|
||||||
"N/A (WebGL)"
|
"N/A (WebGL)"
|
||||||
},
|
},
|
||||||
if cfg!(any(not(feature = "webgl2"), not(target_arch = "wasm32"))) {
|
if cfg!(any(feature = "webgpu", not(target_arch = "wasm32"))) {
|
||||||
if temporal_jitter.is_some() {
|
if temporal_jitter.is_some() {
|
||||||
if depth_prepass.is_some() {
|
if depth_prepass.is_some() {
|
||||||
"ON "
|
"ON "
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user