@@ -1246,14 +1246,6 @@ inline vec_t VectorNormalize2( const vec3_t v, vec3_t out )
12461246 t = _mm_mul_ps ( sseSwizzle ( q, WWWW ), t );
12471247 return _mm_add_ps ( _mm_add_ps ( vec, t2 ), t );
12481248 }
1249- inline __m128 sseQuatTransformInverse ( __m128 q, __m128 vec ) {
1250- __m128 t, t2;
1251- t = sseCrossProduct ( vec, q );
1252- t = _mm_add_ps ( t, t );
1253- t2 = sseCrossProduct ( t, q );
1254- t = _mm_mul_ps ( sseSwizzle ( q, WWWW ), t );
1255- return _mm_add_ps ( _mm_add_ps ( vec, t2 ), t );
1256- }
12571249 inline __m128 sseLoadVec3 ( const vec3_t vec ) {
12581250 __m128 v = _mm_load_ss ( &vec[ 2 ] );
12591251 v = sseSwizzle ( v, YYXY );
@@ -1282,43 +1274,17 @@ inline vec_t VectorNormalize2( const vec3_t v, vec3_t out )
12821274 tmp = _mm_add_ps ( tmp, ts );
12831275 sseStoreVec3 ( tmp, out );
12841276 }
1285- inline void TransformPointInverse (
1286- const transform_t *t, const vec3_t in, vec3_t out ) {
1287- __m128 ts = t->sseTransScale ;
1288- __m128 v = _mm_sub_ps ( sseLoadVec3Unsafe ( in ), ts );
1289- v = _mm_mul_ps ( v, _mm_rcp_ps ( sseSwizzle ( ts, WWWW ) ) );
1290- v = sseQuatTransformInverse ( t->sseRot , v );
1291- sseStoreVec3 ( v, out );
1292- }
12931277 inline void TransformNormalVector (
12941278 const transform_t *t, const vec3_t in, vec3_t out ) {
12951279 __m128 v = sseLoadVec3Unsafe ( in );
12961280 v = sseQuatTransform ( t->sseRot , v );
12971281 sseStoreVec3 ( v, out );
12981282 }
1299- inline void TransformNormalVectorInverse ( const transform_t *t,
1300- const vec3_t in, vec3_t out ) {
1301- __m128 v = sseLoadVec3Unsafe ( in );
1302- v = sseQuatTransformInverse ( t->sseRot , v );
1303- sseStoreVec3 ( v, out );
1304- }
1305- inline __m128 sseAxisAngleToQuat ( const vec3_t axis, float angle ) {
1306- __m128 sa = _mm_set1_ps ( sinf ( 0 .5f * angle ) );
1307- __m128 ca = _mm_set1_ps ( cosf ( 0 .5f * angle ) );
1308- __m128 a = sseLoadVec3 ( axis );
1309- a = _mm_mul_ps ( a, sa );
1310- return _mm_or_ps ( a, _mm_and_ps ( ca, mask_000W () ) );
1311- }
13121283 inline void TransInitRotationQuat ( const quat_t quat,
13131284 transform_t *t ) {
13141285 t->sseRot = _mm_loadu_ps ( quat );
13151286 t->sseTransScale = unitQuat ();
13161287 }
1317- inline void TransInitRotation ( const vec3_t axis, float angle,
1318- transform_t *t ) {
1319- t->sseRot = sseAxisAngleToQuat ( axis, angle );
1320- t->sseTransScale = unitQuat ();
1321- }
13221288 inline void TransInitTranslation ( const vec3_t vec, transform_t *t ) {
13231289 __m128 v = sseLoadVec3 ( vec );
13241290 t->sseRot = unitQuat ();
@@ -1334,26 +1300,13 @@ inline vec_t VectorNormalize2( const vec3_t v, vec3_t out )
13341300 __m128 q = _mm_loadu_ps ( quat );
13351301 t->sseRot = sseQuatMul ( t->sseRot , q );
13361302 }
1337- inline void TransInsRotation ( const vec3_t axis, float angle,
1338- transform_t *t ) {
1339- __m128 q = sseAxisAngleToQuat ( axis, angle );
1340- t->sseRot = sseQuatMul ( q, t->sseRot );
1341- }
13421303 inline void TransAddRotationQuat ( const quat_t quat, transform_t *t ) {
13431304 __m128 q = _mm_loadu_ps ( quat );
13441305 __m128 transformed = sseQuatTransform ( q, t->sseTransScale );
13451306 t->sseRot = sseQuatMul ( q, t->sseRot );
13461307 t->sseTransScale = _mm_or_ps ( _mm_and_ps ( transformed, mask_XYZ0 () ),
13471308 _mm_and_ps ( t->sseTransScale , mask_000W () ) );
13481309 }
1349- inline void TransAddRotation ( const vec3_t axis, float angle,
1350- transform_t *t ) {
1351- __m128 q = sseAxisAngleToQuat ( axis, angle );
1352- __m128 transformed = sseQuatTransform ( q, t->sseTransScale );
1353- t->sseRot = sseQuatMul ( t->sseRot , q );
1354- t->sseTransScale = _mm_or_ps ( _mm_and_ps ( transformed, mask_XYZ0 () ),
1355- _mm_and_ps ( t->sseTransScale , mask_000W () ) );
1356- }
13571310 inline void TransInsScale ( float factor, transform_t *t ) {
13581311 t->scale *= factor;
13591312 }
@@ -1424,20 +1377,15 @@ inline vec_t VectorNormalize2( const vec3_t v, vec3_t out )
14241377 void TransInit ( transform_t *t );
14251378
14261379 void TransformPoint ( const transform_t *t, const vec3_t in, vec3_t out );
1427- void TransformPointInverse ( const transform_t *t, const vec3_t in, vec3_t out );
14281380 void TransformNormalVector ( const transform_t *t, const vec3_t in, vec3_t out );
1429- void TransformNormalVectorInverse ( const transform_t *t, const vec3_t in, vec3_t out );
14301381
14311382 void TransInitRotationQuat ( const quat_t quat, transform_t *t );
1432- void TransInitRotation ( const vec3_t axis, float angle,
1433- transform_t *t );
14341383 void TransInitTranslation ( const vec3_t vec, transform_t *t );
14351384 void TransInitScale ( float factor, transform_t *t );
14361385
14371386 void TransInsRotationQuat ( const quat_t quat, transform_t *t );
14381387 void TransInsRotation ( const vec3_t axis, float angle, transform_t *t );
14391388 void TransAddRotationQuat ( const quat_t quat, transform_t *t );
1440- void TransAddRotation ( const vec3_t axis, float angle, transform_t *t );
14411389 void TransInsScale ( float factor, transform_t *t );
14421390 void TransAddScale ( float factor, transform_t *t );
14431391 void TransInsTranslation ( const vec3_t vec, transform_t *t );
0 commit comments