
- Comparison image from “Geometry-Aware Framebuffer Level of Detail”
Here’s a nice compact little paper from GH 2008 on scaling down shading computation in a rendered scene.
1) Render G-buffer (normals, depth) at a lower resolution (full res * some resizing factor r )
2) Render scene, using bilateral filter (orig paper, SIGGRAPH course, bilateral upsampling ) to upsample some or all of the shading components in a discontinuity respecting manner. Expensive, lower frequency computations should be performed at the lower resolution while inexpensive high-frequency shading (such as specular) should be done at normal resolution.
3) Adjust r based on current framerate vs. some baseline desired framerate to maintain a more constant framerate.
This method is limited by the fact that you have to render the scene geometry twice and highly detailed geometry may introduce artifacts when upsampling, but it is interesting and definitely worth a quick read.
Geometry-Aware Framebuffer Level of Detail
Lei Yang, Pedro V. Sander, Jason Lawrence
Eurographics Symposium on Rendering 2008