MCPcopy Create free account
hub / github.com/WolfireGames/overgrowth / simd_distance_squared

Function simd_distance_squared

Source/Graphics/camera.cpp:664–672  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

662}
663
664static __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
675void 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 {

Callers 1

checkSpheresInFrustumMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected