From 80821bf4497f223c751e6117bb6c16742ecdb307 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 9 Dec 2024 19:12:21 +0100 Subject: [PATCH] engine: use Q_sqrt_fast() in VectorNormalizeFast() and R_TBNtoQtangents() --- src/engine/qcommon/q_shared.h | 2 +- src/engine/renderer/tr_main.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/engine/qcommon/q_shared.h b/src/engine/qcommon/q_shared.h index e9e40f3c8b..e5e6a2b1f4 100644 --- a/src/engine/qcommon/q_shared.h +++ b/src/engine/qcommon/q_shared.h @@ -693,7 +693,7 @@ inline vec_t VectorNormalize( vec3_t v ) // that length != 0, nor does it return length inline void VectorNormalizeFast( vec3_t v ) { - vec_t ilength = Q_rsqrt( DotProduct( v, v ) ); + vec_t ilength = Q_rsqrt_fast( DotProduct( v, v ) ); VectorScale( v, ilength, v ); } diff --git a/src/engine/renderer/tr_main.cpp b/src/engine/renderer/tr_main.cpp index a70bf36a9b..1c9e785dbd 100644 --- a/src/engine/renderer/tr_main.cpp +++ b/src/engine/renderer/tr_main.cpp @@ -246,7 +246,7 @@ void R_TBNtoQtangents( const vec3_t tangent, const vec3_t binormal, if ( ( trace = tangent2[ 0 ] + binormal2[ 1 ] + normal2[ 2 ] ) > 0.0f ) { trace += 1.0f; - scale = 0.5f * Q_rsqrt( trace ); + scale = 0.5f * Q_rsqrt_fast( trace ); q[ 3 ] = trace * scale; q[ 2 ] = ( tangent2 [ 1 ] - binormal2[ 0 ] ) * scale; @@ -257,7 +257,7 @@ void R_TBNtoQtangents( const vec3_t tangent, const vec3_t binormal, else if ( tangent2[ 0 ] > binormal2[ 1 ] && tangent2[ 0 ] > normal2[ 2 ] ) { trace = tangent2[ 0 ] - binormal2[ 1 ] - normal2[ 2 ] + 1.0f; - scale = 0.5f * Q_rsqrt( trace ); + scale = 0.5f * Q_rsqrt_fast( trace ); q[ 0 ] = trace * scale; q[ 1 ] = ( tangent2 [ 1 ] + binormal2[ 0 ] ) * scale; @@ -268,7 +268,7 @@ void R_TBNtoQtangents( const vec3_t tangent, const vec3_t binormal, else if ( binormal2[ 1 ] > normal2[ 2 ] ) { trace = -tangent2[ 0 ] + binormal2[ 1 ] - normal2[ 2 ] + 1.0f; - scale = 0.5f * Q_rsqrt( trace ); + scale = 0.5f * Q_rsqrt_fast( trace ); q[ 1 ] = trace * scale; q[ 0 ] = ( tangent2 [ 1 ] + binormal2[ 0 ] ) * scale; @@ -279,7 +279,7 @@ void R_TBNtoQtangents( const vec3_t tangent, const vec3_t binormal, else { trace = -tangent2[ 0 ] - binormal2[ 1 ] + normal2[ 2 ] + 1.0f; - scale = 0.5f * Q_rsqrt( trace ); + scale = 0.5f * Q_rsqrt_fast( trace ); q[ 2 ] = trace * scale; q[ 3 ] = ( tangent2 [ 1 ] - binormal2[ 0 ] ) * scale;