Skip to content

Commit 2ee58ee

Browse files
authored
use affine inverse in prepass (#20710)
# Objective - yet again, use affine inverse where possible ## Solution - yours truly ## Testing - deferred rendering example
1 parent b9fd768 commit 2ee58ee

File tree

1 file changed

+7
-7
lines changed
  • crates/bevy_pbr/src/prepass

1 file changed

+7
-7
lines changed

crates/bevy_pbr/src/prepass/mod.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use bevy_ecs::{
2121
SystemParamItem,
2222
},
2323
};
24-
use bevy_math::{Affine3A, Vec4};
24+
use bevy_math::{Affine3A, Mat4, Vec4};
2525
use bevy_mesh::{Mesh, Mesh3d, MeshVertexBufferLayoutRef};
2626
use bevy_render::{
2727
alpha::AlphaMode,
@@ -201,15 +201,15 @@ pub fn update_previous_view_data(
201201
query: Query<(Entity, &Camera, &GlobalTransform), Or<(With<Camera3d>, With<ShadowView>)>>,
202202
) {
203203
for (entity, camera, camera_transform) in &query {
204-
let world_from_view = camera_transform.to_matrix();
205-
let view_from_world = world_from_view.inverse();
204+
let world_from_view = camera_transform.affine();
205+
let view_from_world = Mat4::from(world_from_view.inverse());
206206
let view_from_clip = camera.clip_from_view().inverse();
207207

208208
commands.entity(entity).try_insert(PreviousViewData {
209209
view_from_world,
210210
clip_from_world: camera.clip_from_view() * view_from_world,
211211
clip_from_view: camera.clip_from_view(),
212-
world_from_clip: world_from_view * view_from_clip,
212+
world_from_clip: Mat4::from(world_from_view) * view_from_clip,
213213
view_from_clip,
214214
});
215215
}
@@ -672,15 +672,15 @@ pub fn prepare_previous_view_uniforms(
672672
let prev_view_data = match maybe_previous_view_uniforms {
673673
Some(previous_view) => previous_view.clone(),
674674
None => {
675-
let world_from_view = camera.world_from_view.to_matrix();
676-
let view_from_world = world_from_view.inverse();
675+
let world_from_view = camera.world_from_view.affine();
676+
let view_from_world = Mat4::from(world_from_view.inverse());
677677
let view_from_clip = camera.clip_from_view.inverse();
678678

679679
PreviousViewData {
680680
view_from_world,
681681
clip_from_world: camera.clip_from_view * view_from_world,
682682
clip_from_view: camera.clip_from_view,
683-
world_from_clip: world_from_view * view_from_clip,
683+
world_from_clip: Mat4::from(world_from_view) * view_from_clip,
684684
view_from_clip,
685685
}
686686
}

0 commit comments

Comments
 (0)