MCPcopy Create free account
hub / github.com/ddiakopoulos/polymer / run_post_pass

Method run_post_pass

libraries/lib-engine/src/renderer-pbr.cpp:453–477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

451}
452
453void 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
479pbr_renderer::pbr_renderer(const renderer_settings settings) : settings(settings)
480{

Callers

nothing calls this directly

Calls 7

get_variantMethod · 0.80
draw_elementsMethod · 0.80
getMethod · 0.45
bindMethod · 0.45
uniformMethod · 0.45
textureMethod · 0.45
unbindMethod · 0.45

Tested by

no test coverage detected