From 32b192169cd8031919706f94830e81a6d3c791df Mon Sep 17 00:00:00 2001 From: Shariq Shah Date: Sun, 19 Apr 2020 10:52:17 +1000 Subject: [PATCH] Fixed long standing frustum culling bug --- src/common/version.h | 2 +- src/game/camera.c | 4 ++-- todo.txt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common/version.h b/src/common/version.h index e8c8fce..fce465d 100755 --- a/src/common/version.h +++ b/src/common/version.h @@ -4,7 +4,7 @@ /* Auto generated version file. DO NOT MODIFY */ #define SYMMETRY_VERSION_MAJOR 0 #define SYMMETRY_VERSION_MINOR 3 -#define SYMMETRY_VERSION_REVISION 373 +#define SYMMETRY_VERSION_REVISION 374 #define SYMMETRY_VERSION_BRANCH "dev" #endif \ No newline at end of file diff --git a/src/game/camera.c b/src/game/camera.c index b03704a..92b0227 100755 --- a/src/game/camera.c +++ b/src/game/camera.c @@ -168,7 +168,7 @@ static void update_frustum(struct Camera* camera) camera->frustum[FP_LEFT].x = mvp[3] + mvp[0]; camera->frustum[FP_LEFT].y = mvp[7] + mvp[4]; - camera->frustum[FP_LEFT].z = mvp[11] + mvp[2]; + camera->frustum[FP_LEFT].z = mvp[11] + mvp[8]; camera->frustum[FP_LEFT].w = mvp[15] + mvp[12]; camera->frustum[FP_RIGHT].x = mvp[3] - mvp[0]; @@ -177,7 +177,7 @@ static void update_frustum(struct Camera* camera) camera->frustum[FP_RIGHT].w = mvp[15] - mvp[12]; camera->frustum[FP_BOTTOM].x = mvp[3] + mvp[1]; - camera->frustum[FP_BOTTOM].y = mvp[11] + mvp[5]; + camera->frustum[FP_BOTTOM].y = mvp[7] + mvp[5]; camera->frustum[FP_BOTTOM].z = mvp[11] + mvp[9]; camera->frustum[FP_BOTTOM].w = mvp[15] + mvp[13]; diff --git a/todo.txt b/todo.txt index 47c245a..46f9918 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,4 @@ Todo: - - Fix frustum culling on player camera - Don't save parent entity's transform when saving entity archetype. Only save the transformation values for children - Save case sensitive file names when scene entity entries - Disbale all player actions when scene cleared dialog or scene restart dialog are active @@ -432,4 +431,5 @@ Done: * Game End * Save NONE when next_scene is not set and the scene is being saved * Add player start entity that specifies where the player must start at the beginning of every level - * Fixed memory leak \ No newline at end of file + * Fixed memory leak + * Fixed frustum culling on player camera \ No newline at end of file