@@ -11,7 +11,7 @@ use bevy_ecs::{
1111 world:: { FromWorld , World } ,
1212} ;
1313use bevy_image:: ToExtents ;
14- use bevy_math:: { Mat4 , Vec3 } ;
14+ use bevy_math:: { Affine3A , Mat4 , Vec3A } ;
1515use bevy_render:: {
1616 extract_component:: ComponentUniforms ,
1717 render_resource:: { binding_types:: * , * } ,
@@ -530,23 +530,20 @@ pub(super) fn prepare_atmosphere_transforms(
530530 } ;
531531
532532 for ( entity, view) in & views {
533- let world_from_view = view. world_from_view . to_matrix ( ) ;
534- let camera_z = world_from_view. z_axis . truncate ( ) ;
535- let camera_y = world_from_view. y_axis . truncate ( ) ;
533+ let world_from_view = view. world_from_view . affine ( ) ;
534+ let camera_z = world_from_view. matrix3 . z_axis ;
535+ let camera_y = world_from_view. matrix3 . y_axis ;
536536 let atmo_z = camera_z
537537 . with_y ( 0.0 )
538538 . try_normalize ( )
539539 . unwrap_or_else ( || camera_y. with_y ( 0.0 ) . normalize ( ) ) ;
540- let atmo_y = Vec3 :: Y ;
540+ let atmo_y = Vec3A :: Y ;
541541 let atmo_x = atmo_y. cross ( atmo_z) . normalize ( ) ;
542- let world_from_atmosphere = Mat4 :: from_cols (
543- atmo_x. extend ( 0.0 ) ,
544- atmo_y. extend ( 0.0 ) ,
545- atmo_z. extend ( 0.0 ) ,
546- world_from_view. w_axis ,
547- ) ;
542+ let world_from_atmosphere =
543+ Affine3A :: from_cols ( atmo_x, atmo_y, atmo_z, world_from_view. translation ) ;
548544
549- let atmosphere_from_world = world_from_atmosphere. inverse ( ) ;
545+ let atmosphere_from_world = Mat4 :: from ( world_from_atmosphere. inverse ( ) ) ;
546+ let world_from_atmosphere = Mat4 :: from ( world_from_atmosphere) ;
550547
551548 commands. entity ( entity) . insert ( AtmosphereTransformsOffset {
552549 index : writer. write ( & AtmosphereTransform {
0 commit comments