PeriDyno 1.0.0
Loading...
Searching...
No Matches
Envmap.h
Go to the documentation of this file.
1#pragma once
2
3#include "RenderParams.h"
8
9#include <vector>
10
11namespace dyno
12{
13class Envmap
14{
15public:
16 Envmap();
17 ~Envmap();
18
19 void initialize();
20 void release();
21 void load(const char* path);
22 void draw(const RenderParams& rparams);
23
24 void bindIBL();
25
26 void setScale(float scale);
27
28private:
29 void update();
30 void genLUT();
31
32public:
33 const char* path = 0;
34
35private:
36 bool requireUpdate = false;
37
38 struct {
39 int width;
40 int height;
42 std::vector<float> data;
45
49
50 const int irradianceSize = 16;
51 const int prefilteredSize = 128;
52 const int brdfLutSize = 128;
53
54 // draw envmap
56
57 // cube mesh
58 Mesh* cube = 0;
59
61
62 struct {
63 float scale = 1.f;
66};
67
68};
void initialize()
Definition Envmap.cpp:29
Texture2D tex
Definition Envmap.h:43
int width
Definition Envmap.h:39
struct dyno::Envmap::@233363266166374305147231242227134211245233355301 params
bool requireUpdate
Definition Envmap.h:36
void genLUT()
Definition Envmap.cpp:251
Mesh * cube
Definition Envmap.h:58
TextureCube prefilteredCube
Definition Envmap.h:47
Framebuffer fb
Definition Envmap.h:60
void update()
Definition Envmap.cpp:188
const int prefilteredSize
Definition Envmap.h:51
struct dyno::Envmap::@174122021220304153277233053023122306224165314251 image
void load(const char *path)
Definition Envmap.cpp:113
int component
Definition Envmap.h:41
Program * prog
Definition Envmap.h:55
void setScale(float scale)
Definition Envmap.cpp:183
std::vector< float > data
Definition Envmap.h:42
const int brdfLutSize
Definition Envmap.h:52
Texture2D brdfLut
Definition Envmap.h:48
TextureCube irradianceCube
Definition Envmap.h:46
void bindIBL()
Definition Envmap.cpp:163
void release()
Definition Envmap.cpp:94
const int irradianceSize
Definition Envmap.h:50
const char * path
Definition Envmap.h:33
float scale
Definition Envmap.h:63
void draw(const RenderParams &rparams)
Definition Envmap.cpp:135
int height
Definition Envmap.h:40
Buffer uboParams
Definition Envmap.h:65
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25