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::Mesh
Definition
mesh.h:80
oe::render::ScreenQuad
Definition
screen_quad.h:11
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:12
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.15.0