Raito
0.1
Loading...
Searching...
No Matches
Shader.h
Go to the documentation of this file.
1
/*
2
MIT License
3
4
Copyright (c) 2023 Víctor Falcón Zaro
5
6
Permission is hereby granted, free of charge, to any person obtaining a copy
7
of this software and associated documentation files (the "Software"), to deal
8
in the Software without restriction, including without limitation the rights
9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
copies of the Software, and to permit persons to whom the Software is
11
furnished to do so, subject to the following conditions:
12
13
The above copyright notice and this permission notice shall be included in all
14
copies or substantial portions of the Software.
15
16
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
SOFTWARE.
23
*/
24
25
#pragma once
26
#include <filesystem>
27
28
namespace
Raito::Renderer
29
{
30
31
enum
EngineShader
:
u32
32
{
33
FORWARD
= 0,
34
G_BUFFER
,
35
DEFERRED
,
36
DEFERRED_POINT_LIGHT
,
37
DEFERRED_DIRECTIONAL_LIGHT
,
38
SKYBOX
,
39
GAUSSIAN_BLUR
,
40
EQUIRECTANGULAR_TO_CUBEMAP
,
41
IRRADIANCE
,
42
POST_PROCESS
,
43
BLOOM_DOWN_SAMPLE
,
44
BLOOM_UP_SAMPLE
,
45
DEPTH
,
46
SSAO
,
47
SSAO_BLUR
,
48
DOWN_SAMPLE_REPROJECT
,
49
VISIBILITY_BUFFER
,
50
COPY_DEPTH
,
51
DRAW_COMMAND
,
52
PREFILTER
,
53
BRDF
,
54
DEFERRED_AMBIENT
,
55
DEFERRED_PLUS_COMBINE
,
56
ENGINE_SHADER_MAX
57
};
58
59
struct
ShaderFileData
60
{
61
const
char
*
FilePath
;
62
EngineShader
Id
;
63
int
Type
;
64
};
65
66
67
class
Shader
68
{
69
public
:
70
71
Shader
(){}
72
virtual
~Shader
(){}
73
74
NODISCARD
EngineShader
EngineType
()
const
{
return
m_EngineType
; }
75
NODISCARD
std::string
FilePath
()
const
{
return
m_FilePath
.string(); }
76
protected
:
77
std::filesystem::path
m_FilePath
;
78
EngineShader
m_EngineType
;
79
};
80
}
u32
unsigned __int32 u32
Unsigned integer 32 bit type.
Definition
BasicTypes.h:55
NODISCARD
#define NODISCARD
Definition
Common.h:80
Raito::Renderer::Shader
Definition
Shader.h:68
Raito::Renderer::Shader::m_EngineType
EngineShader m_EngineType
Definition
Shader.h:78
Raito::Renderer::Shader::EngineType
NODISCARD EngineShader EngineType() const
Definition
Shader.h:74
Raito::Renderer::Shader::Shader
Shader()
Definition
Shader.h:71
Raito::Renderer::Shader::m_FilePath
std::filesystem::path m_FilePath
Definition
Shader.h:77
Raito::Renderer::Shader::FilePath
NODISCARD std::string FilePath() const
Definition
Shader.h:75
Raito::Renderer::Shader::~Shader
virtual ~Shader()
Definition
Shader.h:72
Raito::Renderer
Definition
Camera.cpp:33
Raito::Renderer::EngineShader
EngineShader
Definition
Shader.h:32
Raito::Renderer::BLOOM_DOWN_SAMPLE
@ BLOOM_DOWN_SAMPLE
Definition
Shader.h:43
Raito::Renderer::VISIBILITY_BUFFER
@ VISIBILITY_BUFFER
Definition
Shader.h:49
Raito::Renderer::SKYBOX
@ SKYBOX
Definition
Shader.h:38
Raito::Renderer::SSAO
@ SSAO
Definition
Shader.h:46
Raito::Renderer::SSAO_BLUR
@ SSAO_BLUR
Definition
Shader.h:47
Raito::Renderer::DRAW_COMMAND
@ DRAW_COMMAND
Definition
Shader.h:51
Raito::Renderer::G_BUFFER
@ G_BUFFER
Definition
Shader.h:34
Raito::Renderer::FORWARD
@ FORWARD
Definition
Shader.h:33
Raito::Renderer::DEPTH
@ DEPTH
Definition
Shader.h:45
Raito::Renderer::BLOOM_UP_SAMPLE
@ BLOOM_UP_SAMPLE
Definition
Shader.h:44
Raito::Renderer::ENGINE_SHADER_MAX
@ ENGINE_SHADER_MAX
Definition
Shader.h:56
Raito::Renderer::EQUIRECTANGULAR_TO_CUBEMAP
@ EQUIRECTANGULAR_TO_CUBEMAP
Definition
Shader.h:40
Raito::Renderer::DEFERRED_DIRECTIONAL_LIGHT
@ DEFERRED_DIRECTIONAL_LIGHT
Definition
Shader.h:37
Raito::Renderer::POST_PROCESS
@ POST_PROCESS
Definition
Shader.h:42
Raito::Renderer::PREFILTER
@ PREFILTER
Definition
Shader.h:52
Raito::Renderer::DEFERRED_AMBIENT
@ DEFERRED_AMBIENT
Definition
Shader.h:54
Raito::Renderer::BRDF
@ BRDF
Definition
Shader.h:53
Raito::Renderer::IRRADIANCE
@ IRRADIANCE
Definition
Shader.h:41
Raito::Renderer::GAUSSIAN_BLUR
@ GAUSSIAN_BLUR
Definition
Shader.h:39
Raito::Renderer::DEFERRED_POINT_LIGHT
@ DEFERRED_POINT_LIGHT
Definition
Shader.h:36
Raito::Renderer::DEFERRED
@ DEFERRED
Definition
Shader.h:35
Raito::Renderer::DEFERRED_PLUS_COMBINE
@ DEFERRED_PLUS_COMBINE
Definition
Shader.h:55
Raito::Renderer::DOWN_SAMPLE_REPROJECT
@ DOWN_SAMPLE_REPROJECT
Definition
Shader.h:48
Raito::Renderer::COPY_DEPTH
@ COPY_DEPTH
Definition
Shader.h:50
Raito::Renderer::ShaderFileData
Definition
Shader.h:60
Raito::Renderer::ShaderFileData::Id
EngineShader Id
Definition
Shader.h:62
Raito::Renderer::ShaderFileData::FilePath
const char * FilePath
Definition
Shader.h:61
Raito::Renderer::ShaderFileData::Type
int Type
Definition
Shader.h:63
Core
Source
Raito
Renderer
Shader.h
Generated by
1.11.0