| 662 | } |
| 663 | |
| 664 | static __m128 simd_distance_squared(__m128 x1, __m128 y1, __m128 z1, __m128 x2, __m128 y2, __m128 z2) { |
| 665 | const auto diff_x = _mm_sub_ps(x1, x2); |
| 666 | const auto mul_x = _mm_mul_ps(diff_x, diff_x); |
| 667 | const auto diff_y = _mm_sub_ps(y1, y2); |
| 668 | const auto mul_y = _mm_mul_ps(diff_y, diff_y); |
| 669 | const auto diff_z = _mm_sub_ps(z1, z2); |
| 670 | const auto mul_z = _mm_mul_ps(diff_z, diff_z); |
| 671 | return _mm_add_ps(_mm_add_ps(mul_x, mul_y), mul_z); |
| 672 | } |
| 673 | #endif // defined(USE_SSE) |
| 674 | |
| 675 | void Camera::checkSpheresInFrustum(int count, float* where_x, float* where_y, float* where_z, float radius, float cull_distance_squared, uint32_t* is_visible_result) const { |
no outgoing calls
no test coverage detected