16namespace osc {
struct Circle; }
17namespace osc {
struct Disc; }
18namespace osc {
struct Plane; }
19namespace osc {
struct LineSegment; }
20namespace osc {
struct Tetrahedron; }
82 Vector3 camera_world_space_origin,
95 const Vector3& world_space_position,
98 const Rect& viewport_rect
Definition custom_decoration_generator.h:5
EulerAngles extract_eulers_xyz(const Quaternion &)
Transform cylinder_to_line_segment_transform(const LineSegment &, float radius)
Vector2 ndc_point_to_topleft_normalized(Vector2 ndc_point)
Radians vertical_to_horizontal_field_of_view(Radians vertical_field_of_view, float aspect_ratio)
Transform transform_between(const LineSegment &, const LineSegment &)
Vector2 project_onto_viewport_rect(const Vector3 &world_space_position, const Matrix4x4 &view_matrix, const Matrix4x4 &projection_matrix, const Rect &viewport_rect)
void apply_world_space_rotation(Transform &application_target, const EulerAngles &euler_angles, const Vector3 &rotation_center)
Matrix4x4 matrix4x4_transform_between(const Disc &, const Disc &)
Quaternion to_world_space_rotation_quaternion(const EulerAngles &)
std::array< Matrix4x4, 6 > calc_cubemap_view_proj_matrices(const Matrix4x4 &projection_matrix, Vector3 cube_center)
Vector2 topleft_normalized_point_to_ndc(Vector2 normalized_point)
Ray perspective_unproject_topleft_normalized_pos_to_world(Vector2 normalized_point, Vector3 camera_world_space_origin, const Matrix4x4 &camera_view_matrix, const Matrix4x4 &camera_proj_matrix)
Vector3 topleft_normalized_point_to_world_znear(Vector2 normalized_point, const Matrix4x4 &camera_view_matrix, const Matrix4x4 &camera_proj_matrix)
Vector4 topleft_normalized_point_to_ndc_cube(Vector2 normalized_point)
Rect ndc_rect_to_topleft_viewport_rect(const Rect &ndc_rect, const Rect &viewport)
Transform y_to_y_cone_to_segment_transform(const LineSegment &, float radius)
constexpr float volume_of(const AABB &aabb)
Definition aabb_functions.h:40
Definition line_segment.h:13
Definition tetrahedron.h:9