TDME2
1.9.200
src
tdme
engine
subsystems
framebuffer
BRDFLUTShader.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
tdme/tdme.h
>
4
#include <
tdme/engine/subsystems/framebuffer/fwd-tdme.h
>
5
#include <
tdme/engine/subsystems/renderer/fwd-tdme.h
>
6
#include <
tdme/engine/ColorTexture.h
>
7
8
using
tdme::engine::subsystems::renderer::Renderer
;
9
using
tdme::engine::ColorTexture
;
10
11
/**
12
* BRDFLUT render shader
13
* @author Andreas Drewke
14
*/
15
class
tdme::engine::subsystems::framebuffer::BRDFLUTShader
final:
public
ColorTexture
16
{
17
18
private
:
19
static
constexpr
int
BRDFLUT_WIDTH
{ 1024 };
20
static
constexpr
int
BRDFLUT_HEIGHT
{ 1024 };
21
22
Renderer
*
renderer
{
nullptr
};
23
int32_t
vertexShaderId
{ -1 };
24
int32_t
fragmentShaderId
{ -1 };
25
int32_t
programId
{ -1 };
26
int32_t
colorBufferTextureId
{ 0 };
27
int32_t
frameBufferId
{ -1 };
28
bool
initialized
{
false
};
29
30
public
:
31
// forbid class copy
32
FORBID_CLASS_COPY
(
BRDFLUTShader
)
33
34
/**
35
* Public constructor
36
* @param renderer renderer
37
*/
38
BRDFLUTShader
(
Renderer
*
renderer
);
39
40
/**
41
* Public destructor
42
*/
43
~BRDFLUTShader
();
44
45
/**
46
* @return if initialized and ready to use
47
*/
48
bool
isInitialized
();
49
50
/**
51
* Initialize
52
*/
53
void
initialize
();
54
55
/**
56
* Generate
57
*/
58
void
generate
();
59
60
/**
61
* @return color texture id
62
*/
63
inline
int32_t
getColorTextureId
()
override
{
64
return
colorBufferTextureId
;
65
}
66
};
ColorTexture.h
tdme::engine::subsystems::framebuffer::BRDFLUTShader
BRDFLUT render shader.
Definition:
BRDFLUTShader.h:16
tdme::engine::subsystems::framebuffer::BRDFLUTShader::isInitialized
bool isInitialized()
Definition:
BRDFLUTShader.cpp:23
tdme::engine::subsystems::framebuffer::BRDFLUTShader::fragmentShaderId
int32_t fragmentShaderId
Definition:
BRDFLUTShader.h:24
tdme::engine::subsystems::framebuffer::BRDFLUTShader::frameBufferId
int32_t frameBufferId
Definition:
BRDFLUTShader.h:27
tdme::engine::subsystems::framebuffer::BRDFLUTShader::BRDFLUT_WIDTH
static constexpr int BRDFLUT_WIDTH
Definition:
BRDFLUTShader.h:19
tdme::engine::subsystems::framebuffer::BRDFLUTShader::initialize
void initialize()
Initialize.
Definition:
BRDFLUTShader.cpp:28
tdme::engine::subsystems::framebuffer::BRDFLUTShader::programId
int32_t programId
Definition:
BRDFLUTShader.h:25
tdme::engine::subsystems::framebuffer::BRDFLUTShader::generate
void generate()
Generate.
Definition:
BRDFLUTShader.cpp:62
tdme::engine::subsystems::framebuffer::BRDFLUTShader::colorBufferTextureId
int32_t colorBufferTextureId
Definition:
BRDFLUTShader.h:26
tdme::engine::subsystems::framebuffer::BRDFLUTShader::vertexShaderId
int32_t vertexShaderId
Definition:
BRDFLUTShader.h:23
tdme::engine::subsystems::framebuffer::BRDFLUTShader::~BRDFLUTShader
~BRDFLUTShader()
Public destructor.
Definition:
BRDFLUTShader.cpp:19
tdme::engine::subsystems::framebuffer::BRDFLUTShader::BRDFLUTShader
BRDFLUTShader(Renderer *renderer)
Public constructor.
Definition:
BRDFLUTShader.cpp:14
tdme::engine::subsystems::framebuffer::BRDFLUTShader::BRDFLUT_HEIGHT
static constexpr int BRDFLUT_HEIGHT
Definition:
BRDFLUTShader.h:20
tdme::engine::subsystems::framebuffer::BRDFLUTShader::getColorTextureId
int32_t getColorTextureId() override
Definition:
BRDFLUTShader.h:63
tdme::engine::subsystems::framebuffer::BRDFLUTShader::initialized
bool initialized
Definition:
BRDFLUTShader.h:28
tdme::engine::subsystems::framebuffer::BRDFLUTShader::renderer
Renderer * renderer
Definition:
BRDFLUTShader.h:22
tdme::engine::subsystems::renderer::Renderer
Renderer interface.
Definition:
Renderer.h:46
fwd-tdme.h
fwd-tdme.h
tdme::engine::ColorTexture
Color texture interface.
Definition:
ColorTexture.h:13
tdme.h
FORBID_CLASS_COPY
#define FORBID_CLASS_COPY(CLASS)
Definition:
tdme.h:6
Generated by
1.9.1