![]() In the end this high frequency noise is greatly removed by a Nx N post-process blurring step taking into account depth discontinuities (using methods such as comparing adjacent normals and depths). The kernel orientation is repeated every N screen pixels in order to have only high-frequency noise in the final picture. In order to get high quality results with far fewer reads, sampling is performed using a randomly rotated kernel. ![]() This is not acceptable for real-time rendering on current graphics hardware. Without additional smart solutions, such a brute force method would require about 200 texture reads per pixel for good visual quality. In its simplest implementation, the occlusion factor depends only on the depth difference between sampled point and current point. ![]() ![]() For every pixel on the screen, the pixel shader samples the depth values around the current pixel and tries to compute the amount of occlusion from each of the sampled points. ![]() The algorithm is implemented as a pixel shader, analyzing the scene depth buffer which is stored in a texture. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |