Patent ID: 8878849

Claim:
A GPU for computing ambient occlusion illumination for a scene, comprising: the GPU for performing: a set-up unit for receiving a group of primitives from a graphics application and generating edge descriptions for the primitives; a rasterizer unit coupled to the setup unit for receiving the edge descriptions and rasterizing the primitives into pixel parameters of pixels of a display, wherein the parameters include pixel depth values and pixel normal vectors; a shader unit coupled to receive the pixel parameters and perform a shader operations on the pixels, wherein the shader unit performs an ambient occlusion process for each pixel of the display by: based on the pixel depth values and a projection matrix used to render the scene, computing a 3-D eye space position for a surface point corresponding to the pixel; based on the pixel eye space position, the pixel normal vector, and the depth values, computing horizon heights in relation to the point; based on the horizon heights, computing an occlusion term for the pixel; based on the pixel eye space position, the pixel normal vector, the depth values and the horizon heights, computing a normal occlusion term for the point; and computing an ambient occlusion illumination value comprising an inter-object occlusion value by combining the horizon occlusion term and the normal occlusion term.