PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Rendering
Engine
OpenGL
ShadowMap.h
Go to the documentation of this file.
1
16
17
#pragma once
18
19
#include "
GraphicsObject/Buffer.h
"
20
#include "
GraphicsObject/Framebuffer.h
"
21
#include "
GraphicsObject/Texture.h
"
22
#include "
GraphicsObject/Shader.h
"
23
#include "
GraphicsObject/Mesh.h
"
24
25
#include <vector>
26
#include <
RenderEngine.h
>
27
28
namespace
dyno
29
{
30
class
Camera
;
31
class
SceneGraph
;
32
33
class
ShadowMap
34
{
35
public
:
36
ShadowMap
(
int
size
= 1024);
37
~ShadowMap
();
38
39
void
initialize
();
40
void
release
();
41
42
void
update
(
dyno::SceneGraph
*
scene
,
const
dyno::RenderParams
& rparams);
43
44
// bind uniform block and texture
45
void
bind
(
int
shadowUniformLoc = 3,
int
shadowTexSlot = 5);
46
47
int
getSize
()
const
;
48
void
setSize
(
int
size
);
49
50
int
getNumBlurIterations
()
const
;
51
void
setNumBlurIterations
(
int
iter);
52
53
private
:
54
// framebuffers
55
Framebuffer
mFramebuffer
;
56
Texture2D
mShadowTex
;
57
Texture2D
mShadowDepth
;
58
Texture2D
mShadowBlur
;
59
60
Program
*
mBlurProgram
;
61
Mesh
*
mQuad
;
62
63
64
Buffer
mShadowUniform
;
// uniform buffer for shadow lookup matrices
65
66
bool
sizeUpdated
=
false
;
67
int
size
= -1;
68
69
// num of blur interations for VSM
70
int
blurIters
= 1;
71
72
public
:
73
74
// patch to color bleeding, min p_max
75
float
minValue
= 0.1f;
76
};
77
}
Buffer.h
Framebuffer.h
Mesh.h
RenderEngine.h
Shader.h
Texture.h
dyno::Buffer
Definition
Buffer.h:24
dyno::Camera
Definition
Camera.h:15
dyno::Framebuffer
Definition
Framebuffer.h:25
dyno::Mesh
Definition
Mesh.h:25
dyno::Program
Definition
Shader.h:43
dyno::SceneGraph
Definition
SceneGraph.h:32
dyno::ShadowMap::setNumBlurIterations
void setNumBlurIterations(int iter)
Definition
ShadowMap.cpp:307
dyno::ShadowMap::release
void release()
Definition
ShadowMap.cpp:82
dyno::ShadowMap::update
void update(dyno::SceneGraph *scene, const dyno::RenderParams &rparams)
Definition
ShadowMap.cpp:191
dyno::ShadowMap::sizeUpdated
bool sizeUpdated
Definition
ShadowMap.h:66
dyno::ShadowMap::mFramebuffer
Framebuffer mFramebuffer
Definition
ShadowMap.h:55
dyno::ShadowMap::mQuad
Mesh * mQuad
Definition
ShadowMap.h:61
dyno::ShadowMap::mShadowDepth
Texture2D mShadowDepth
Definition
ShadowMap.h:57
dyno::ShadowMap::~ShadowMap
~ShadowMap()
Definition
ShadowMap.cpp:24
dyno::ShadowMap::bind
void bind(int shadowUniformLoc=3, int shadowTexSlot=5)
Definition
ShadowMap.cpp:276
dyno::ShadowMap::getNumBlurIterations
int getNumBlurIterations() const
Definition
ShadowMap.cpp:302
dyno::ShadowMap::minValue
float minValue
Definition
ShadowMap.h:75
dyno::ShadowMap::getSize
int getSize() const
Definition
ShadowMap.cpp:288
dyno::ShadowMap::size
int size
Definition
ShadowMap.h:67
dyno::ShadowMap::ShadowMap
ShadowMap(int size=1024)
Definition
ShadowMap.cpp:19
dyno::ShadowMap::mShadowTex
Texture2D mShadowTex
Definition
ShadowMap.h:56
dyno::ShadowMap::mShadowBlur
Texture2D mShadowBlur
Definition
ShadowMap.h:58
dyno::ShadowMap::initialize
void initialize()
Definition
ShadowMap.cpp:29
dyno::ShadowMap::blurIters
int blurIters
Definition
ShadowMap.h:70
dyno::ShadowMap::mShadowUniform
Buffer mShadowUniform
Definition
ShadowMap.h:64
dyno::ShadowMap::setSize
void setSize(int size)
Definition
ShadowMap.cpp:293
dyno::ShadowMap::mBlurProgram
Program * mBlurProgram
Definition
ShadowMap.h:60
dyno::Texture2D
Definition
Texture.h:47
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dyno::scene
int scene
Definition
GltfFunc.h:20
dyno::RenderParams
Definition
RenderParams.h:24
Generated by
1.13.2