@@ -88,6 +88,7 @@ int main(int argc, char** argv) {
8888
8989 Shader fontShader (" shaders_old/font.vs" , " shaders_old/font.fs" );
9090 Shader shader (" shaders/basic.vs" , " shaders/basic.fs" );
91+ Shader postprocessingShader (" shaders_old/postprocess.vs" , " shaders_old/postprocess.fs" );
9192 shader.bind ();
9293 int directionLocation = GLCALL (glGetUniformLocation (shader.getShaderId (), " u_directional_light.direction" ));
9394 glm::vec3 sunColor = glm::vec3 (0 .0f );
@@ -248,6 +249,7 @@ int main(int argc, char** argv) {
248249 camera.update ();
249250
250251 framebuffer.bind ();
252+ glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
251253 shader.bind ();
252254 model = glm::rotate (model, 1 .0f *delta, glm::vec3 (0 , 1 , 0 ));
253255 modelViewProj = camera.getViewProj () * model;
@@ -269,6 +271,14 @@ int main(int argc, char** argv) {
269271 shader.unbind ();
270272 framebuffer.unbind ();
271273
274+ // Postprocessing
275+ postprocessingShader.bind ();
276+ GLCALL (glActiveTexture (GL_TEXTURE0));
277+ GLCALL (glBindTexture (GL_TEXTURE_2D, framebuffer.getTextureId ()));
278+ GLCALL (glUniform1i (glGetUniformLocation (postprocessingShader.getShaderId (), " u_texture" ), 0 ));
279+ glDrawArrays (GL_TRIANGLES, 0 , 3 );
280+ postprocessingShader.unbind ();
281+
272282 fontShader.bind ();
273283
274284 int w, h;
0 commit comments