opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
scene_helpers.h File Reference
#include <liboscar/graphics/anti_aliasing_level.h>
#include <liboscar/graphics/color.h>
#include <liboscar/graphics/material.h>
#include <liboscar/graphics/scene/scene_collision.h>
#include <liboscar/graphics/scene/scene_decoration.h>
#include <liboscar/graphics/scene/scene_renderer_params.h>
#include <liboscar/maths/aabb.h>
#include <liboscar/maths/bvh.h>
#include <liboscar/maths/frustum_planes.h>
#include <liboscar/maths/ray_collision.h>
#include <liboscar/maths/vector.h>
#include <functional>
#include <optional>
#include <span>
Include dependency graph for scene_helpers.h:

Go to the source code of this file.

Classes

struct  osc::ArrowProperties
 

Namespaces

namespace  osc
 

Functions

void osc::draw_bvh (SceneCache &, const BVH &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_aabb (SceneCache &, const AABB &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_aabbs (SceneCache &, std::span< const AABB >, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_bvh_leaf_nodes (SceneCache &, const BVH &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_xz_floor_lines (SceneCache &, const std::function< void(SceneDecoration &&)> &out, float scale=5.0f)
 
void osc::draw_xz_grid (SceneCache &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_xy_grid (SceneCache &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_yz_grid (SceneCache &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_arrow (SceneCache &, const ArrowProperties &, const std::function< void(SceneDecoration &&)> &out)
 
void osc::draw_line_segment (SceneCache &, const LineSegment &, const Color &, float radius, const std::function< void(SceneDecoration &&)> &out)
 
void osc::update_scene_bvh (std::span< const SceneDecoration >, BVH &)
 
void osc::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)
 
std::vector< SceneCollisionosc::get_all_ray_collisions_with_scene (const BVH &scene_bvh, SceneCache &, std::span< const SceneDecoration >, const Ray &world_space_ray)
 
std::optional< RayCollisionosc::get_closest_world_space_ray_triangle_collision (const Mesh &, const BVH &triangle_bvh, const Transform &, const Ray &world_space_ray)
 
std::optional< RayCollisionosc::get_closest_world_space_ray_triangle_collision (const PolarPerspectiveCamera &, const Mesh &, const BVH &triangle_bvh, const Rect &screen_render_rect, Vector2 mouse_screen_position)
 
SceneRendererParams osc::calc_standard_dark_scene_render_params (const PolarPerspectiveCamera &, AntiAliasingLevel, Vector2 dimensions, float device_pixel_ratio)
 
BVH osc::create_triangle_bvh (const Mesh &)
 
FrustumPlanes osc::calc_frustum_planes (const Camera &camera, float aspect_ratio)