Camera3D
View and projection matrix management for 3D visualizations.
Synopsis
namespace Skigen::Plot {
class Camera3D {
public:
Camera3D();
void lookAt(const Eigen::Vector3f& eye,
const Eigen::Vector3f& target,
const Eigen::Vector3f& up = Eigen::Vector3f::UnitY());
void setPerspective(float fovDegrees, float aspect,
float nearPlane, float farPlane);
auto viewMatrix() const -> Eigen::Matrix4f;
auto projectionMatrix() const -> Eigen::Matrix4f;
auto viewProjectionMatrix() const -> Eigen::Matrix4f;
auto position() const -> const Eigen::Vector3f&;
auto target() const -> const Eigen::Vector3f&;
};
} // namespace Skigen::Plot
Description
Camera3D computes standard right-handed view and perspective projection matrices. Used by PlotView for 3D rendering modes (point clouds, surface meshes).
See the Camera3D guide for detailed usage and the mathematical derivation.