Google SoC 2008
Linden Lab was accepted as a mentoring organization for the Google Summer of Code program this year. Two proposals were accepted:
- Screen-space Ambient Occlusion
- Student: Alexander Yuan
- Mentor: Runitai Linden
- Tracking issue:
- Abstract: Screen-space ambient occlusion (SSAO) is an approximation of ambient occlusion, the idea that parts of an object which are crowded by other objects are occluded from the sky, and therefore are lit less from diffuse sky lighting. Thus, these areas should be darker than those which are more open to the sky. Traditional implementation involves raytracing and is too slow for real-time graphics. Instead, SSAO uses only surfaces which are present in screen space, and approximately calculates the concavity of a point compared to the other surfaces which have been drawn. This application proposes that SSAO should be implemented for Second Life.
- Proposal #2: Implementing a C++ library for per-pixel displacement mapping
- Student: Ravish Mehra
- Mentor: Qarl Linden
- Tracking issue:
- Abstract: Mesostructures are fine details on the surface and its rendering has become a hot topic in computer graphics. It is chiefly due to the amount of realism and visual effects (like occlusion, self-shadow and correct silhouettes) achieved by it. Techniques most commonly used in games and implemented in most game engines are Normal mapping, bump mapping which are not able produce such rich visual effects. The most traditional technique proposed for rendering such fine details was Displacement mapping. But due to the large number of vertices involved this technique is very slow and no where close to real time. In recent years, this problem is being seen from a different perspective via Per-Pixel displacement mapping. This technique tries to achieve the same visual effects and realism as displacement mapping but does so in pixel domain. In recent years, lots of approaches have been proposed under per-pixel displacement mapping like Relief mapping, View dependent displacement mapping(VDM), Generalized displacement mapping(GDM), cone step mapping, sphere tracing using distance functions, pyramidal displacement mapping to name a few.
The main project is to develop an easy-to use library for doing per-pixel displacement mapping. The main focus will be to provide per-pixel displacement mapping support for height field, non-height field & dynamic height field mesostructures. The effects being targeted are self shadow, silhouettes and 3D imposters.
More information about Linden Lab's participation in Google Summer of Code can be found at the Google Summer of Code/Linden Lab entry.