Skip to content

Commit

Permalink
q_math: use Q_rsqrt() in QuatFromMatrix() like id Software/J.M.P. van…
Browse files Browse the repository at this point in the history
… Waveren did
  • Loading branch information
illwieckz committed Jan 28, 2025
1 parent a167fcb commit 3d38352
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/engine/qcommon/q_math.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2871,7 +2871,7 @@ void QuatFromMatrix( quat_t q, const matrix_t m )

if ( t > 0.0f )
{
s = ( 1.0f / sqrtf( t ) ) * 0.5f;
s = Q_rsqrt( t ) * 0.5f;

q[ 3 ] = s * t;
q[ 2 ] = ( m[ 1 ] - m[ 4 ] ) * s;
Expand All @@ -2882,7 +2882,7 @@ void QuatFromMatrix( quat_t q, const matrix_t m )
else if ( m[ 0 ] > m[ 5 ] && m[ 0 ] > m[ 10 ] )
{
t = m[ 0 ] - m[ 5 ] - m[ 10 ] + 1.0f;
s = ( 1.0f / sqrtf( t ) ) * 0.5f;
s = Q_rsqrt( t ) * 0.5f;

q[ 0 ] = s * t;
q[ 1 ] = ( m[ 1 ] + m[ 4 ] ) * s;
Expand All @@ -2893,7 +2893,7 @@ void QuatFromMatrix( quat_t q, const matrix_t m )
else if ( m[ 5 ] > m[ 10 ] )
{
t = -m[ 0 ] + m[ 5 ] - m[ 10 ] + 1.0f;
s = ( 1.0f / sqrtf( t ) ) * 0.5f;
s = Q_rsqrt( t ) * 0.5f;

q[ 1 ] = s * t;
q[ 0 ] = ( m[ 1 ] + m[ 4 ] ) * s;
Expand All @@ -2904,7 +2904,7 @@ void QuatFromMatrix( quat_t q, const matrix_t m )
else
{
t = -m[ 0 ] - m[ 5 ] + m[ 10 ] + 1.0f;
s = ( 1.0f / sqrtf( t ) ) * 0.5f;
s = Q_rsqrt( t ) * 0.5f;

q[ 2 ] = s * t;
q[ 3 ] = ( m[ 1 ] - m[ 4 ] ) * s;
Expand Down

0 comments on commit 3d38352

Please sign in to comment.