# CameraInterpolation
> Defines how camera position and rotation are interpolated between waypoints.
`gg.lode.lecternapi.api.cutscene.CameraInterpolation`
---
## Signature
```java
public enum CameraInterpolation
```
---
## Values
| Value | Description |
|---|---|
| `LINEAR` | Straight-line interpolation between waypoints. Produces sharp direction changes at waypoints. |
| `CATMULL_ROM` | Catmull-Rom spline interpolation. Produces smooth curves that pass through each waypoint. Best for natural camera movement. |
| `CUBIC_BEZIER` | Cubic Bezier interpolation. Produces smooth curves with adjustable tension. |
---
## Usage
```java
.cameraPath(path -> path
.waypoint(Vec.of(0, 70, 0), 0, 0, 0, 0)
.waypoint(Vec.of(50, 80, 50), 45, -10, 0, 40)
.waypoint(Vec.of(100, 70, 100), 90, 0, 0, 80)
.interpolation(CameraInterpolation.CATMULL_ROM))
```
---
## Choosing an Interpolation
- **LINEAR**: Use for simple, predictable movement or when you want sharp turns.
- **CATMULL_ROM**: Recommended for most cinematic camera work. Creates natural, flowing movement.
- **CUBIC_BEZIER**: Use when you need more control over the curve shape.
---
## Related Pages
- [[CameraPath]] — Uses this enum
- [[CameraWaypoint]] — Points that are interpolated