9#ifndef AVARA3D_VISUAL_CAMERA_PERSPECTIVECAMERA_H
10#define AVARA3D_VISUAL_CAMERA_PERSPECTIVECAMERA_H
13#include "a3d/visual/camera/Camera.h"
62 math::mat4 projection(const math::uvec2& framebufferSize) const override;
Base class for camera projection models used by VisualWorld.
const std::optional< std::string > & name() const
Returns the optional camera name.
Camera using a perspective projection with a vertical field of view.
float zNear() const
Returns the near clipping distance.
float yFov() const
Returns the vertical field of view in radians.
PerspectiveCamera()
Creates an unnamed camera with a 0.1 near plane, 1000 far plane, and 45-degree vertical FOV.
PerspectiveCamera(float zNear, float zFar, float yFov)
Creates an unnamed perspective camera with the supplied clipping distances and vertical FOV.
PerspectiveCamera(const std::string &name, float zNear, float zFar, float yFov)
Creates a named perspective camera with the supplied clipping distances and vertical FOV.
float zFar() const
Returns the far clipping distance.