summaryrefslogtreecommitdiffhomepage
path: root/src/rcamera.h
diff options
context:
space:
mode:
authorRay <[email protected]>2023-02-15 17:36:31 +0100
committerRay <[email protected]>2023-02-15 17:36:31 +0100
commit2766835ed432a2ad575635ce338aa1389078cb12 (patch)
treebe3dd3fdfbbcf02a36ed14a3eaa6619581adafb5 /src/rcamera.h
parent9eaed07b77bd6c9004175c9a641a573671cadb29 (diff)
downloadraylib-2766835ed432a2ad575635ce338aa1389078cb12.tar.gz
raylib-2766835ed432a2ad575635ce338aa1389078cb12.zip
REPLACE: TABS by 4 spaces
Diffstat (limited to 'src/rcamera.h')
-rw-r--r--src/rcamera.h41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/rcamera.h b/src/rcamera.h
index c0c28209..edcd5ee3 100644
--- a/src/rcamera.h
+++ b/src/rcamera.h
@@ -160,7 +160,7 @@ Matrix GetCameraProjectionMatrix(Camera* camera, float aspect);
// MatrixOrtho()
// MatrixIdentity()
-// raylib input functionality required: GetMouseDelta(), GetMouseWheelMove(), IsKeyDown(), IsKeyPressed()
+// raylib required functionality: GetMouseDelta(), GetMouseWheelMove(), IsKeyDown(), IsKeyPressed(), GetFrameTime()
//----------------------------------------------------------------------------------
// Defines and Macros
@@ -195,7 +195,7 @@ Matrix GetCameraProjectionMatrix(Camera* camera, float aspect);
//----------------------------------------------------------------------------------
// Module specific Functions Declaration
//----------------------------------------------------------------------------------
-
+//...
//----------------------------------------------------------------------------------
// Module Functions Definition
@@ -218,6 +218,7 @@ Vector3 GetCameraRight(Camera *camera)
{
Vector3 forward = GetCameraForward(camera);
Vector3 up = GetCameraUp(camera);
+
return Vector3CrossProduct(forward, up);
}
@@ -419,26 +420,26 @@ void UpdateCamera(Camera *camera, int mode)
bool lockView = mode == CAMERA_FIRST_PERSON || mode == CAMERA_THIRD_PERSON || mode == CAMERA_ORBITAL;
bool rotateUp = mode == CAMERA_FREE;
- if (mode == CAMERA_ORBITAL)
- {
- // Obital can just orbit
- Matrix rotatation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED * GetFrameTime());
- Vector3 viewVector = Vector3Subtract(camera->position, camera->target);
- viewVector = Vector3Transform(viewVector, rotatation);
- camera->position = Vector3Add(camera->target, viewVector);
- }
+ if (mode == CAMERA_ORBITAL)
+ {
+ // Orbital can just orbit
+ Matrix rotatation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED*GetFrameTime());
+ Vector3 viewVector = Vector3Subtract(camera->position, camera->target);
+ viewVector = Vector3Transform(viewVector, rotatation);
+ camera->position = Vector3Add(camera->target, viewVector);
+ }
else
{
- // Camera rotation
- if (IsKeyDown(KEY_DOWN)) CameraPitch(camera, -CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
- if (IsKeyDown(KEY_UP)) CameraPitch(camera, CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
- if (IsKeyDown(KEY_RIGHT)) CameraYaw(camera, -CAMERA_ROTATION_SPEED, rotateAroundTarget);
- if (IsKeyDown(KEY_LEFT)) CameraYaw(camera, CAMERA_ROTATION_SPEED, rotateAroundTarget);
- if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
- if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
-
- CameraYaw(camera, -mousePositionDelta.x * CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
- CameraPitch(camera, -mousePositionDelta.y * CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
+ // Camera rotation
+ if (IsKeyDown(KEY_DOWN)) CameraPitch(camera, -CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
+ if (IsKeyDown(KEY_UP)) CameraPitch(camera, CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
+ if (IsKeyDown(KEY_RIGHT)) CameraYaw(camera, -CAMERA_ROTATION_SPEED, rotateAroundTarget);
+ if (IsKeyDown(KEY_LEFT)) CameraYaw(camera, CAMERA_ROTATION_SPEED, rotateAroundTarget);
+ if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
+ if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
+
+ CameraYaw(camera, -mousePositionDelta.x * CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
+ CameraPitch(camera, -mousePositionDelta.y * CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
// Camera movement
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane);