Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
skybox.h
1
#ifndef OE_RENDER_SKYBOX_H
2
#define OE_RENDER_SKYBOX_H
3
4
#include "shader.h"
5
#include "mesh.h"
6
#include "cubemap.h"
7
8
namespace
oe::scene
9
{
10
class
Camera;
11
}
12
13
namespace
oe::render
14
{
15
class
Texture;
16
class
Cubemap;
17
class
Shader;
18
class
ScreenQuad;
19
class
Mesh;
20
26
struct
Skybox
27
{
28
void
render(
const
oe::scene::Camera
&)
29
{
30
// Nothing to do
31
}
32
};
33
37
class
CubicSkybox
:
public
Skybox
38
{
39
public
:
40
CubicSkybox
(
Cubemap
* cubemap);
41
42
void
render(
const
oe::scene::Camera
& camera);
43
44
Cubemap
* cubemap =
nullptr
;
45
46
private
:
47
Mesh
_cube;
48
Shader
_shader;
49
};
50
56
class
FlatSkybox
:
public
Skybox
57
{
58
public
:
59
FlatSkybox
(
Texture
* texture);
60
61
void
render(
const
oe::scene::Camera
&);
62
63
Texture
* texture =
nullptr
;
64
private
:
65
Shader
_shader;
66
};
67
}
68
69
#endif
oe::render::Cubemap
Definition
cubemap.h:9
oe::render::CubicSkybox
Standard Cubic skybox.
Definition
skybox.h:38
oe::render::FlatSkybox
Flat skybox.
Definition
skybox.h:57
oe::render::Mesh
Definition
mesh.h:79
oe::render::Shader
Standard shader class.
Definition
shader.h:23
oe::render::Texture
Definition
texture.h:31
oe::scene::Camera
The "eye of the scene".
Definition
camera.h:31
oe::render
Render related abstractions (Shader, Framebuffer, Cubemaps, Textures)
Definition
opengl.h:10
oe::scene
Scene related management (Render-agnostic Geometry, Manger, etc...)
Definition
debug.h:19
oe::render::Skybox
Common struct to all skyboxes.
Definition
skybox.h:27
OxygenEngine
render
skybox.h
Generated by
1.9.8