Here is my draw function. When I uncomment out the lines, I enable the shader-based quad draw. After that, I do a glOrtho call:
[code]
void display_func(void)
{
glClearColor(1, 0.5f, 0, 1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_TEXTURE_2D);
//glDisable(GL_BLEND);
//
//const GLfloat black[] = { 0.0f, 0.0f, 0.0f, 0.0f };
// static const GLfloat one = 1.0f;
// static const GLenum draw_buffers[] = { GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1 };
// glViewport(0, 0, win_x, win_y);
// glBindFramebuffer(GL_FRAMEBUFFER, render_fbo);
// glEnable(GL_DEPTH_TEST);
//
// glClearBufferfv(GL_COLOR, 0, black);
// glClearBufferfv(GL_COLOR, 1, black);
// glClearBufferfv(GL_DEPTH, 0, &one);
// glBindBufferBase(GL_UNIFORM_BUFFER, 0, points_buffer);
//glUseProgram(render.get_program());
//main_camera.calculate_camera_matrices(win_x, win_y);
//glUniformMatrix4fv(uniforms.render.proj_matrix, 1, GL_FALSE, main_camera.projection_mat);
//glUniformMatrix4fv(uniforms.render.mv_matrix, 1, GL_FALSE, main_camera.view_mat);
// glUniform1f(uniforms.render.shading_level, show_shading ? (show_ao ? 0.7f : 1.0f) : 0.0f);
//glBindVertexArray(fractal_vao);
//glDrawElements(GL_TRIANGLES, static_cast<GLsizei>(triangle_indices.size()*3), GL_UNSIGNED_INT, 0);
// glBindFramebuffer(GL_FRAMEBUFFER, 0);
//glUseProgram(ssao.get_program());
// glUniform1f(uniforms.ssao.ssao_radius, ssao_radius * float(win_x) / 1000.0f);
// glUniform1f(uniforms.ssao.ssao_level, show_ao ? (show_shading ? 0.3f : 1.0f) : 0.0f);
// glUniform1i(uniforms.ssao.weight_by_angle, weight_by_angle ? 1 : 0);
// glUniform1i(uniforms.ssao.randomize_points, randomize_points ? 1 : 0);
// glUniform1ui(uniforms.ssao.point_count, point_count);
// glActiveTexture(GL_TEXTURE0);
// glBindTexture(GL_TEXTURE_2D, fbo_textures[0]);
// glActiveTexture(GL_TEXTURE1);
// glBindTexture(GL_TEXTURE_2D, fbo_textures[1]);
// glDisable(GL_DEPTH_TEST);
// glBindVertexArray(quad_vao);
// glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
// Draw fullscreen quad
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, win_x, 0, win_y, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex2f(0, 0);
glTexCoord2f(1, 0);
glVertex2f(win_x, 0);
glTexCoord2f(1, 1);
glVertex2f(win_x, win_y);
glTexCoord2f(0, 1);
glVertex2f(0, win_y);
glEnd();
glutSwapBuffers();
}
[/code]