Lugdunum
0.1.0
include
lug
Graphics
Render
SkyBox.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/Graphics/Export.hpp
>
4
#include <
lug/Graphics/Resource.hpp
>
5
#include <
lug/Graphics/Render/Texture.hpp
>
6
7
namespace
lug
{
8
namespace
Graphics {
9
10
class
Renderer;
11
12
// For friend
13
namespace
Builder {
14
class
SkyBox;
15
}
// Builder
16
17
namespace
Render {
18
19
class
LUG_GRAPHICS_API
SkyBox
:
public
Resource
{
20
friend
class ::lug::Graphics::Builder::SkyBox;
21
22
public
:
23
SkyBox
(
const
std::string& name);
24
25
SkyBox
(
const
SkyBox
&) =
delete
;
26
SkyBox
(
SkyBox
&&) =
delete
;
27
28
SkyBox
& operator=(
const
SkyBox
&) =
delete
;
29
SkyBox
& operator=(
SkyBox
&&) =
delete
;
30
31
virtual
~
SkyBox
() =
default
;
32
33
const
Resource::SharedPtr<lug::Graphics::Render::Texture>
getBackgroundTexture()
const
;
34
const
Resource::SharedPtr<lug::Graphics::Render::Texture>
getEnvironnementTexture()
const
;
35
36
virtual
Resource::SharedPtr<lug::Graphics::Render::SkyBox>
createIrradianceMap(
Renderer
& renderer)
const
= 0;
37
virtual
Resource::SharedPtr<lug::Graphics::Render::SkyBox>
createPrefilteredMap(
Renderer
& renderer)
const
= 0;
38
39
protected
:
40
lug::Graphics::Resource::SharedPtr<lug::Graphics::Render::Texture>
_backgroundTexture
;
41
lug::Graphics::Resource::SharedPtr<lug::Graphics::Render::Texture>
_environnementTexture
;
42
};
43
44
#include <
lug/Graphics/Render/SkyBox.inl
>
45
46
}
// Render
47
}
// Graphics
48
}
// lug
lug::Graphics::Render::SkyBox::_environnementTexture
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Texture > _environnementTexture
Definition:
SkyBox.hpp:41
lug::Graphics::Render::SkyBox::_backgroundTexture
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Texture > _backgroundTexture
Definition:
SkyBox.hpp:40
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
lug::Graphics::Resource::SharedPtr< lug::Graphics::Render::Texture >
Resource.hpp
lug::Graphics::Resource
Class for resource.
Definition:
Resource.hpp:17
lug::Graphics::Render::SkyBox
Definition:
SkyBox.hpp:19
SkyBox.inl
lug::Graphics::Renderer
Definition:
Renderer.hpp:18
lug
Definition:
Application.hpp:11
Texture.hpp
Export.hpp
Generated by
1.8.13