X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FMath%2FFrustum.cpp;h=3c7f21b8c0d363df6ced2e2df6a1574e8f240183;hb=b9a46d8e2b7e7e22c706e7dd3734f31015db4408;hp=e8b13666a977477f748809893a3cc3d85a859687;hpb=ed3662c0852c4312a612b4fc35bd03aba8d13db7;p=lugaru.git
diff --git a/Source/Math/Frustum.cpp b/Source/Math/Frustum.cpp
index e8b1366..3c7f21b 100644
--- a/Source/Math/Frustum.cpp
+++ b/Source/Math/Frustum.cpp
@@ -25,7 +25,7 @@ along with Lugaru. If not, see .
#include
void FRUSTUM::
-GetFrustum()
+ GetFrustum()
{
static float projmatrix[16];
static float mvmatrix[16];
@@ -93,86 +93,110 @@ GetFrustum()
}
int FRUSTUM::
-CubeInFrustum(float x, float y, float z, float size)
+ CubeInFrustum(float x, float y, float z, float size)
{
static int c, c2;
for (int i = 0; i < 6; i++) {
c = 0;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y - size) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y - size) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y - size) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y - size) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y + size) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y + size) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y + size) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y + size) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y - size) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y - size) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y - size) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y - size) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y + size) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y + size) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y + size) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y + size) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (c == 0)
+ }
+ if (c == 0) {
return 0;
- if (c == 8)
+ }
+ if (c == 8) {
c2++;
+ }
}
- if (c2 >= 6)
+ if (c2 >= 6) {
return 2;
- else
+ } else {
return 1;
+ }
}
int FRUSTUM::
-CubeInFrustum(float x, float y, float z, float size, float height)
+ CubeInFrustum(float x, float y, float z, float size, float height)
{
static int c, c2;
for (int i = 0; i < 6; i++) {
c = 0;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y - height) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y - height) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y - height) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y - height) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y + height) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y + height) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y + height) + frustum[i][2] * (z - size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y + height) + frustum[i][2] * (z - size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y - height) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y - height) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y - height) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y - height) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x - size) + frustum[i][1] * (y + height) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x - size) + frustum[i][1] * (y + height) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (frustum[i][0] * (x + size) + frustum[i][1] * (y + height) + frustum[i][2] * (z + size) + frustum[i][3] > 0)
+ }
+ if (frustum[i][0] * (x + size) + frustum[i][1] * (y + height) + frustum[i][2] * (z + size) + frustum[i][3] > 0) {
c++;
- if (c == 0)
+ }
+ if (c == 0) {
return 0;
- if (c == 8)
+ }
+ if (c == 8) {
c2++;
+ }
}
- if (c2 >= 6)
+ if (c2 >= 6) {
return 2;
- else
+ } else {
return 1;
+ }
}
int FRUSTUM::
-SphereInFrustum(float x, float y, float z, float radius)
+ SphereInFrustum(float x, float y, float z, float radius)
{
- static int c2;
+ static int c2;
for (int i = 0; i < 6; i++) {
- if (frustum[i][0] * x + frustum[i][1] * y + frustum[i][2] * z + frustum[i][3] > -1 * radius)
+ if (frustum[i][0] * x + frustum[i][1] * y + frustum[i][2] * z + frustum[i][3] > -1 * radius) {
c2++;
- else
+ } else {
return 0;
+ }
}
- if (c2 >= 6)
+ if (c2 >= 6) {
return 2;
- else
+ } else {
return 1;
+ }
}