32 #include "api_scene3d.h"
33 #include "../Display/Render/graphic_context.h"
34 #include "Performance/gpu_timer.h"
42 class ResourceManager;
45 class SceneParticleEmitter;
63 template<
typename Type>
66 return get_inout_container().
get<Type>(name);
69 void set_viewport(
const Rect &box);
76 Mat4f world_to_eye()
const;
77 Mat4f eye_to_projection()
const;
78 Mat4f world_to_projection()
const;
80 void unproject(
const Vec2i &screen_pos,
Vec3f &out_ray_start,
Vec3f &out_ray_direction);
83 void set_cull_oct_tree(
const Vec3f &aabb_min,
const Vec3f &aabb_max);
84 void set_cull_oct_tree(
float max_size);
86 ScenePass add_pass(
const std::string &name,
const std::string &insert_before = std::string());
87 void remove_pass(
const std::string &name);
89 void show_skybox_stars(
bool enable);
90 void set_skybox_gradient(
GraphicContext &gc, std::vector<Colorf> &colors);
101 std::shared_ptr<Scene_Impl> impl;
Resource proxy of a specific type.
Definition: resource.h:59
Resource< Type > get(const std::string &name)
Definition: resource_container.h:56
static int triangles_drawn
Definition: scene.h:96
static int models_drawn
Definition: scene.h:93
Definition: scene_light.h:46
Definition: resource_container.h:48
Definition: scene_object.h:44
static std::vector< GPUTimer::Result > gpu_results
Definition: scene.h:98
Resource< Type > get_inout(const std::string &name)
Definition: scene.h:64
Definition: scene_light_probe.h:43
2D (left,top,right,bottom) rectangle structure - Integer
Definition: rect.h:453
static int scene_visits
Definition: scene.h:97
Definition: scene_camera.h:45
Definition: scene_model.h:45
Definition: scene_particle_emitter.h:46
Resource manager.
Definition: resource_manager.h:45
Interface to drawing graphics.
Definition: graphic_context.h:257
4D matrix
Definition: mat2.h:52
static int draw_calls
Definition: scene.h:95
Definition: scene_pass.h:45
static int instances_drawn
Definition: scene.h:94