Class Camera3D

Inheritance Relationships

Base Type

Class Documentation

class Camera3D : public CE::Rendering::CameraBase

Declaration: final

GLM perspective camera using framebuffer aspect and caller-selected view units.

Public Functions

Camera3D()

Compute the initial perspective projection at revision zero using the declared default field of view and clipping planes.

void set_perspective(float fov_degrees, float near_plane, float far_plane)

Validate and apply perspective configuration as one camera revision.

See also

Rendering guide

Parameters:
  • fov_degrees – Finite vertical angle strictly between 0 and 180 degrees.

  • near_plane – Finite positive near distance in view units.

  • far_plane – Finite distance greater than near_plane, in the same units.

Throws:

CE::Exceptions::invalid_args – For invalid values, leaving the camera unchanged. Equal configuration does nothing; a change recomputes projection and advances once.

Protected Functions

virtual void recalculate_projection() override

Recompute GLM perspective from stored FOV/planes and framebuffer aspect, using at least one pixel per axis.