| 451 | } |
| 452 | |
| 453 | void pbr_renderer::run_post_pass(const view_data & view, const render_payload & scene) |
| 454 | { |
| 455 | if (!settings.tonemapEnabled) return; |
| 456 | |
| 457 | GLboolean wasCullingEnabled = glIsEnabled(GL_CULL_FACE); |
| 458 | GLboolean wasDepthTestingEnabled = glIsEnabled(GL_DEPTH_TEST); |
| 459 | |
| 460 | glDisable(GL_CULL_FACE); |
| 461 | glDisable(GL_DEPTH_TEST); |
| 462 | |
| 463 | glBindFramebuffer(GL_FRAMEBUFFER, postFramebuffers[view.index]); |
| 464 | glViewport(0, 0, settings.renderSize.x, settings.renderSize.y); |
| 465 | |
| 466 | auto & shader = renderPassTonemap.get()->get_variant()->shader; |
| 467 | shader.bind(); |
| 468 | shader.uniform("u_exposure", settings.exposure); |
| 469 | shader.uniform("u_gamma", settings.gamma); |
| 470 | shader.uniform("u_tonemapMode", settings.tonemapMode); |
| 471 | shader.texture("s_texColor", 0, eyeTextures[view.index], GL_TEXTURE_2D); |
| 472 | post_quad.draw_elements(); |
| 473 | shader.unbind(); |
| 474 | |
| 475 | if (wasCullingEnabled) glEnable(GL_CULL_FACE); |
| 476 | if (wasDepthTestingEnabled) glEnable(GL_DEPTH_TEST); |
| 477 | } |
| 478 | |
| 479 | pbr_renderer::pbr_renderer(const renderer_settings settings) : settings(settings) |
| 480 | { |
nothing calls this directly
no test coverage detected