8 #ifndef GlobalIllumination_hpp 9 #define GlobalIllumination_hpp 12 #include "RenderSystem.hpp" 13 #define GLFW_INCLUDE_NONE 14 #include <GLFW/glfw3.h> 16 #define VPLRESOLUTION 128 17 #define WRITEFRAMES true 27 void init(GLFWwindow* window);
31 void initGeometryBuffer();
32 void initCustomShaderBuffer();
33 void initRenderBuffer();
34 void initCompositeBuffer();
36 const std::string& getOutputDir()
const {
return(mOutputDir);}
37 void setOutputDir(
const std::string& aOutputDir) {mOutputDir = aOutputDir;}
39 void process(
Scene& scene);
43 void geometryPass(
Program& geometryShader,
Scene& scene);
45 void customShaderPass(
Program &toonShader,
Scene &scene);
51 glm::mat4 getLightProjMatrix();
52 glm::mat4 getLightViewMatrix(glm::vec3 position, glm::vec3 direction, glm::vec3 up);
53 glm::mat4 getProjectionMatrix();
54 glm::mat4 getViewMatrix(vec3 position, vec3 lookat);
58 std::string mOutputDir =
"./frames/";
62 bool firstTime =
true;
70 GLuint VPLBuffer[6], VPLdepthBuf[6];
71 GLuint VPLpositions[6], VPLcolors[6];
74 GLuint geometryBuffer;
75 GLuint gNormals, gPositions, gDepth, baseColors;
78 GLuint notGIPositions;
81 GLuint quad_VertexArrayID;
82 GLuint quad_vertexbuffer;
85 GLuint customShaderFBO;
86 GLuint customShaderTexture;
87 GLuint customShaderDepthBuf;
95 GLuint compositeTexture;
96 GLuint compositeDepthBuf;
Definition: drawable.hpp:8
Definition: RenderSystem.hpp:10
Definition: EntitiesBase.hpp:18
Definition: GlobalIllumination.hpp:20