summaryrefslogtreecommitdiffhomepage
path: root/src/rcamera.h
diff options
context:
space:
mode:
authorRay <[email protected]>2023-03-12 19:40:43 +0100
committerRay <[email protected]>2023-03-12 19:40:43 +0100
commit8ca32127013be61110b72eddc19dda16520ac704 (patch)
treec439271e50cf8a22b4280911f142a64b81d2506c /src/rcamera.h
parentf9c4cc2040aa014292b02fcf10918ca930341e3b (diff)
downloadraylib-8ca32127013be61110b72eddc19dda16520ac704.tar.gz
raylib-8ca32127013be61110b72eddc19dda16520ac704.zip
REVIEWED: `UpdateCameraPro()` to use `Vector3`
Diffstat (limited to 'src/rcamera.h')
-rw-r--r--src/rcamera.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/rcamera.h b/src/rcamera.h
index 17223758..8b37ff7b 100644
--- a/src/rcamera.h
+++ b/src/rcamera.h
@@ -471,25 +471,34 @@ void UpdateCamera(Camera *camera, int mode)
#endif // !CAMERA_STANDALONE
// Update camera movement, movement/rotation values should be provided by user
-void UpdateCameraPro(Camera *camera, float moveForward, float moveRightLeft, float moveUpDown, float moveToTarget, float yaw, float pitch, float roll)
+void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom)
{
+ // Required values
+ // movement.x - Move forward/backward
+ // movement.y - Move right/left
+ // movement.z - Move up/down
+ // rotation.x - yaw
+ // rotation.y - pitch
+ // rotation.z - roll
+ // zoom - Move towards target
+
bool lockView = true;
bool rotateAroundTarget = false;
bool rotateUp = false;
bool moveInWorldPlane = true;
// Camera rotation
- CameraPitch(camera, -pitch*DEG2RAD, lockView, rotateAroundTarget, rotateUp);
- CameraYaw(camera, -yaw*DEG2RAD, rotateAroundTarget);
- CameraRoll(camera, roll*DEG2RAD);
+ CameraPitch(camera, -rotation.y*DEG2RAD, lockView, rotateAroundTarget, rotateUp);
+ CameraYaw(camera, -rotation.x*DEG2RAD, rotateAroundTarget);
+ CameraRoll(camera, rotation.z*DEG2RAD);
// Camera movement
- CameraMoveForward(camera, moveForward, moveInWorldPlane);
- CameraMoveRight(camera, moveRightLeft, moveInWorldPlane);
- CameraMoveUp(camera, moveUpDown);
+ CameraMoveForward(camera, movement.x, moveInWorldPlane);
+ CameraMoveRight(camera, movement.y, moveInWorldPlane);
+ CameraMoveUp(camera, movement.z);
// Zoom target distance
- CameraMoveToTarget(camera, moveToTarget);
+ CameraMoveToTarget(camera, zoom);
}
#endif // CAMERA_IMPLEMENTATION