ShaderRenderer::overview();
A multi-pass deferred C++/OpenGL renderer showcasing a growing collection of non-photorealistic GLSL shaders, built alongside enginemath [2] and gl-profiler [3], my custom math library and GPU profiling tool. Currently features 3 distinct shaders: Cel Shading (inspired by Guilty Gear Xrd [1]), Crosshatching/Screentoned Manga Style, and an Isophote Contour Style.
The renderer features two-tone cel lighting, rim lighting, specular highlights, screen-space outlines derived from normal and depth buffers, and a ping-pong Gaussian bloom pipeline with three HDR tone mapping operators (Reinhard, GT, ACES) over models imported using Assimp [4].
I profiled the pipeline with gl-profiler (my own GPU timing tool), pinpointed bloom as the slowest pass, and cut its GPU time ~4× at quarter resolution with bilinear upsampling and no visible quality loss, holding 60+ fps at 1600×1200 on integrated AMD Radeon 610M graphics.