* Initial commit.

:)
This commit is contained in:
iProgramInCpp
2023-07-30 22:22:02 +03:00
commit 9642818a88
613 changed files with 151754 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
#include "FrustumCuller.hpp"
bool FrustumCuller::cubeFullyInFrustum(float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
{
return m_frustumData.cubeFullyInFrustum(
minX - m_camPos.x,
minY - m_camPos.y,
minZ - m_camPos.z,
maxX - m_camPos.x,
maxY - m_camPos.y,
maxZ - m_camPos.z
);
}
bool FrustumCuller::cubeInFrustum(float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
{
return m_frustumData.cubeInFrustum(
minX - m_camPos.x,
minY - m_camPos.y,
minZ - m_camPos.z,
maxX - m_camPos.x,
maxY - m_camPos.y,
maxZ - m_camPos.z
);
}
bool FrustumCuller::isVisible(const AABB& aabb)
{
return cubeInFrustum(aabb.min.x, aabb.min.y, aabb.min.z, aabb.max.x, aabb.max.y, aabb.max.z);
}
void FrustumCuller::prepare(float x, float y, float z)
{
m_camPos = Vec3(x, y, z);
}