19namespace osc {
class BVH; }
20namespace osc {
class Camera; }
21namespace osc {
class Mesh; }
22namespace osc {
class Rect; }
23namespace osc {
class SceneCache; }
24namespace osc {
struct AABB; }
25namespace osc {
struct LineSegment; }
26namespace osc {
struct PolarPerspectiveCamera; }
27namespace osc {
struct Ray; }
28namespace osc {
struct Transform; }
46 std::span<const AABB>,
102 std::span<const SceneDecoration>,
110 std::span<const SceneDecoration>,
119 std::span<const SceneDecoration>,
146 float device_pixel_ratio
Definition anti_aliasing_level.h:11
Definition scene_cache.h:25
Definition custom_decoration_generator.h:5
void draw_aabbs(SceneCache &, std::span< const AABB >, const std::function< void(SceneDecoration &&)> &out)
SceneRendererParams calc_standard_dark_scene_render_params(const PolarPerspectiveCamera &, AntiAliasingLevel, Vector2 dimensions, float device_pixel_ratio)
void update_scene_bvh(std::span< const SceneDecoration >, BVH &)
void draw_arrow(SceneCache &, const ArrowProperties &, const std::function< void(SceneDecoration &&)> &out)
void draw_xz_floor_lines(SceneCache &, const std::function< void(SceneDecoration &&)> &out, float scale=5.0f)
void draw_line_segment(SceneCache &, const LineSegment &, const Color &, float radius, const std::function< void(SceneDecoration &&)> &out)
void for_each_ray_collision_with_scene(const BVH &scene_bvh, SceneCache &, std::span< const SceneDecoration >, const Ray &world_space_ray, const std::function< void(SceneCollision &&)> &out)
void draw_bvh(SceneCache &, const BVH &, const std::function< void(SceneDecoration &&)> &out)
BVH create_triangle_bvh(const Mesh &)
void draw_xz_grid(SceneCache &, const std::function< void(SceneDecoration &&)> &out)
constexpr U to(T &&value)
Definition conversion.h:56
std::optional< RayCollision > get_closest_world_space_ray_triangle_collision(const Mesh &, const BVH &triangle_bvh, const Transform &, const Ray &world_space_ray)
void draw_xy_grid(SceneCache &, const std::function< void(SceneDecoration &&)> &out)
void draw_bvh_leaf_nodes(SceneCache &, const BVH &, const std::function< void(SceneDecoration &&)> &out)
FrustumPlanes calc_frustum_planes(const Camera &camera, float aspect_ratio)
std::vector< SceneCollision > get_all_ray_collisions_with_scene(const BVH &scene_bvh, SceneCache &, std::span< const SceneDecoration >, const Ray &world_space_ray)
Matrix< T, 4, 4 > scale(const Matrix< T, 4, 4 > &m, const Vector< T, 3 > &v)
Definition matrix_functions.h:78
void draw_aabb(SceneCache &, const AABB &, const std::function< void(SceneDecoration &&)> &out)
void draw_yz_grid(SceneCache &, const std::function< void(SceneDecoration &&)> &out)
Definition scene_helpers.h:77
float neck_thickness
Definition scene_helpers.h:81
Vector3 start
Definition scene_helpers.h:78
float tip_length
Definition scene_helpers.h:80
Vector3 end
Definition scene_helpers.h:79
Color color
Definition scene_helpers.h:83
SceneDecorationFlags decoration_flags
Definition scene_helpers.h:84
float head_thickness
Definition scene_helpers.h:82
Definition frustum_planes.h:10
Definition line_segment.h:13
Definition polar_perspective_camera.h:14
static constexpr Rgba black()
Definition rgba.h:38
Definition scene_collision.h:12
Definition scene_decoration.h:15
Definition scene_renderer_params.h:13