summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2019-12-29 13:55:15 +0100
committerraysan5 <[email protected]>2019-12-29 13:55:15 +0100
commitc20ccfe274f94d29dcf1a1f84048a57d56dedce6 (patch)
treef40c6e8b68db09644fb26af4f3951756a76cd8eb /src
parentc0d1425aac300b194b0d1d359f6fe9a3d964d15d (diff)
downloadraylib-c20ccfe274f94d29dcf1a1f84048a57d56dedce6.tar.gz
raylib-c20ccfe274f94d29dcf1a1f84048a57d56dedce6.zip
Review PR #1040 naming and formating
Diffstat (limited to 'src')
-rw-r--r--src/camera.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/camera.h b/src/camera.h
index ae389c93..6ce6b65f 100644
--- a/src/camera.h
+++ b/src/camera.h
@@ -428,16 +428,14 @@ void UpdateCamera(Camera *camera)
if (cameraAngle.y > CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD;
else if (cameraAngle.y < CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD;
- // Camera is always looking at player
- //camera->target.x = camera->position.x - sinf(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE;
- //camera->target.y = camera->position.y + sinf(cameraAngle.y)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE;
- //camera->target.z = camera->position.z - cosf(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE;
- Matrix t = MatrixTranslate(0,0,(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER));
- Matrix r = MatrixRotateXYZ((Vector3){PI*2-cameraAngle.y,PI*2-cameraAngle.x,0});
- r = MatrixMultiply(t,r);
- camera->target.x = camera->position.x - r.m12;
- camera->target.y = camera->position.y - r.m13;
- camera->target.z = camera->position.z - r.m14;
+ // Recalculate camera target considering translation and rotation
+ Matrix translation = MatrixTranslate(0, 0, (cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER));
+ Matrix rotation = MatrixRotateXYZ((Vector3){ PI*2 - cameraAngle.y, PI*2 - cameraAngle.x, 0 });
+ Matrix transform = MatrixMultiply(translation, rotation);
+
+ camera->target.x = camera->position.x - transform.m12;
+ camera->target.y = camera->position.y - transform.m13;
+ camera->target.z = camera->position.z - transform.m14;
if (isMoving) swingCounter++;