MOS
scene.hpp
1 #pragma once
2 
3 #include <mos/core/container.hpp>
4 #include <mos/gfx/camera.hpp>
5 #include <mos/gfx/clouds.hpp>
6 #include <mos/gfx/cube_camera.hpp>
7 #include <mos/gfx/directional_light.hpp>
8 #include <mos/gfx/environment_lights.hpp>
9 #include <mos/gfx/fog.hpp>
10 #include <mos/gfx/model.hpp>
11 #include <mos/gfx/models.hpp>
12 #include <mos/gfx/spot_light.hpp>
13 #include <mos/gfx/spot_lights.hpp>
14 #include <mos/gfx/target.hpp>
15 #include <mos/gfx/texture_targets.hpp>
16 #include <mos/gpu/model.hpp>
17 
18 namespace mos::gfx {
19 
21 class Scene {
22 public:
23  Scene() = default;
24  Scene(const gpu::Models &models, const Camera &camera,
25  const Spot_lights &spot_lights = Spot_lights(), const Fog &fog = Fog(),
26  const Environment_lights &environment_lights = Environment_lights());
27  gpu::Model sky = gpu::Model();
28  gpu::Models models;
29  Clouds point_clouds;
30  Clouds line_clouds;
31  Spot_lights spot_lights;
32  Directional_light directional_light;
33  Camera camera;
34  Fog fog;
35  Environment_lights environment_lights;
36  Texture_targets texture_targets;
37 };
38 } // namespace mos::gfx
Fog with exponential falloff and near/far color blending.
Definition: fog.hpp:7
Definition: model.hpp:20
Rendering camera view.
Definition: camera.hpp:12
Definition: directional_light.hpp:8
Scene for rendering.
Definition: scene.hpp:21
Definition: assets.hpp:17