ATI SDK

ATI Product Information

Support for Alternate OS's

Hardware partners

Software partners

RenderMonkey

Drivers


 
 

Highlights


GPU MeshMapper (V1.0)

GPU PerfStudio (V1.2)

Samples: CrossFire Detect (update)

Samples: PostTonemapResolve

The Compressonator (version 1.41)

GPU Shader Analyzer (V1.42)

RenderMonkey™
(version 1.81) (New)


ATI Compress (version 1.6)

AMD Tootle 2.0 (New)

AMD OpenGL ES 2.0 Emulator (V1.1) (New)

HLSL2GLSL (V0.9)

AMD at GDC 2007

ATI SDK


 
 
ATI Developer - Source Code
 
Multitexture Frosted Glass on Radeon®

Figure 1 - Frosted glass using multitexturing
 
The sample RadeonFrostedGlass implements an accumulation buffer technique for simulating frosted glass by using multitexturing, render target textures, and vertex fog. This is based on a Multi-pass Pipeline Rendering (MPR) technique proposed by Paul J. Diefenbach and Norman I. Badler in "Multi-Pass Pipeline Rendering: Realism For Dynamic Environments". To download this paper, and to learn more about his work on MPR, visit Paul Diefenbach's home page.

The scattering of light through a translucent material is simulated by stochasitcally shearing X, Y about the normal axis to the translucent surface for multiple samples of the transmitted geomtery. The samples are accumulated to produce the final scattered effect. The shearing is performed by transforming world coordinates into the plane normal view at the translucent surface, shearing linearly with respect to the perpendicular distance from the surface, and transforming back into world space. The dispersion of light through this material is further simulated by adding vertex fog that varies linearly with the perpendicular distance from the translucent surface.

Each stochastic sample is rendered into an independent render target texture. The samples are accumulated by adding them in weighted proportions through a combination of multitexturing and alpha blending. The Radeon® can combine four samples in a single pass using its three texture stage units and the alpha blending unit. This process can be used recursively to accumulate more samples. The final scattered image is projected onto the translucent surface using a texture transformation matrix. Figure 1 illustrates this effect.
 
RadeonFrostedGlass Controls
  • S - Toggle between regular and larger shear displacement
  • M - Toggle between default (6) and more (12) samples
  • J - Enable/Disable random jitter added to the shear displacement
  • [SPACE] - Advance Frame-by-frame
  • [ENTER] - stop advancing Frame-by-frame
  • [LEFT] - Rotate camera left
  • [RIGHT] - Rotate camera right
  • [ESC] - Quit
 
Downloads
 
Note: The source code and media should be unzipped into the following recommended directory structure to ensure you can easily compile and run the executable.

Radeonxxxxxx.zip -> x:\atiddk\Direct3D\Radeonxxxxxx
media.zip -> x:\atiddk\media

RadeonFrostedGlass.zip

media.zip


Back to Samples Page
 
 
 


 



©2008 Advanced Micro Devices, Inc.    |    Contact AMD    |    Terms and Conditions    |    Privacy    |    Trademark information    |    Site Map