8namespace osc {
struct AABB; }
9namespace osc {
class Rect; }
Definition custom_decoration_generator.h:5
void focus_along_minus_x(PolarPerspectiveCamera &)
void focus_along_y(PolarPerspectiveCamera &)
void auto_focus(PolarPerspectiveCamera &, const AABB &element_aabb, float aspect_ratio=1.0f)
void focus_along_minus_z(PolarPerspectiveCamera &)
void zoom_in(PolarPerspectiveCamera &)
PolarPerspectiveCamera create_camera_with_radius(float)
PolarPerspectiveCamera create_camera_focused_on(const AABB &)
void focus_along_axis(PolarPerspectiveCamera &, size_t, bool negate=false)
void focus_along_minus_y(PolarPerspectiveCamera &)
constexpr U to(T &&value)
Definition conversion.h:56
void focus_along_z(PolarPerspectiveCamera &)
void zoom_out(PolarPerspectiveCamera &)
void focus_along_x(PolarPerspectiveCamera &)
void reset(PolarPerspectiveCamera &)
Vector3 recommended_light_direction(const PolarPerspectiveCamera &)
Definition polar_perspective_camera.h:14
Matrix4x4 projection_matrix(float aspect_ratio) const
Radians phi
Definition polar_perspective_camera.h:62
Radians vertical_field_of_view
Definition polar_perspective_camera.h:64
float zfar
Definition polar_perspective_camera.h:66
Matrix4x4 view_matrix() const
Vector2 project_onto_viewport(const Vector3 &world_space_position, const Rect &viewport_rect) const
float radius
Definition polar_perspective_camera.h:60
void rescale_znear_and_zfar_based_on_radius()
Ray unproject_topleft_position_to_world_ray(Vector2 pos, Vector2 dimensions) const
void drag(Vector2 mouse_delta)
float znear
Definition polar_perspective_camera.h:65
void pan(float aspect_ratio, Vector2 mouse_delta)
Vector3 focus_point
Definition polar_perspective_camera.h:63
float frustum_height_at_depth(float depth) const
Radians theta
Definition polar_perspective_camera.h:61
friend bool operator==(const PolarPerspectiveCamera &, const PolarPerspectiveCamera &)=default