Code/Framework/AzFramework/AzFramework/Viewport/ViewportScreen.cpp
static AZ::Matrix3x4 ZYCoordinateSystemConversion()
    {
        // note: the below matrix is the result of these combined transformations
        //      pitch = AZ::Matrix4x4::CreateRotationX(AZ::DegToRad(-90.0f));
        //      yaw = AZ::Matrix4x4::CreateRotationZ(AZ::DegToRad(180.0f));
        //      conversion = pitch * yaw
        return AZ::Matrix3x4::CreateFromColumns(
            AZ::Vector3(-1.0f, 0.0f, 0.0f), AZ::Vector3(0.0f, 0.0f, 1.0f), AZ::Vector3(0.0f, 1.0f, 0.0f), AZ::Vector3(0.0f, 0.0f, 0.0f));
    }
// a transform that maps from:
// z-up, y into the screen, x-right
// y-up, z into the screen, x-left
//
// x -> -x
// y ->  z
// z ->  y
//
// the same transform can be used to go to/from z-up - the only difference is the order of
// multiplication which must be used (see CameraTransformFromCameraView and CameraViewFromCameraTransform)
// note: coordinate system convention is right handed
//       see Matrix4x4::CreateProjection for more details
a transform that maps from:
z-up, y into the screen, x-right
y-up, z into the screen, x-left



the same transform can be used to go to/from z-up - the only difference is the order of
multiplication which must be used
note: coordinate system convention is right handed
see Matrix4x4::CreateProjection for more details
a transform that maps from : z - up y into the screen x - right y - up z into the screen x - left the same transform can be used to go to / from z - up - the only difference is the order of multiplication which must be used note : coordinate system convention is right handed see Matrix4x4 :: CreateProjection for more details
static AZ::Matrix3x4 ZYCoordinateSystemConversion()
    {
        return AZ::Matrix3x4::CreateFromColumns(
            AZ::Vector3(-1.0f, 0.0f, 0.0f), AZ::Vector3(0.0f, 0.0f, 1.0f), AZ::Vector3(0.0f, 1.0f, 0.0f), AZ::Vector3(0.0f, 0.0f, 0.0f));
    }
static AZ :: Matrix3x4 ZYCoordinateSystemConversion ( ) { return AZ :: Matrix3x4 :: CreateFromColumns ( AZ :: Vector3 ( -1.0f , 0.0f , 0.0f ) , AZ :: Vector3 ( 0.0f , 0.0f , 1.0f ) , AZ :: Vector3 ( 0.0f , 1.0f , 0.0f ) , AZ :: Vector3 ( 0.0f , 0.0f , 0.0f ) ) ; }
a transform that maps from:
z-up, y into the screen, x-right
y-up, z into the screen, x-left
a transform that maps from : z - up y into the screen x - right y - up z into the screen x - left
// note: the below matrix is the result of these combined transformations //      pitch = AZ::Matrix4x4::CreateRotationX(AZ::DegToRad(-90.0f)); //      yaw = AZ::Matrix4x4::CreateRotationZ(AZ::DegToRad(180.0f)); //      conversion = pitch * yaw