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.4)

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
 
Procedural Fire
 

Figure 1 - Pixel shading

The ProceduralFire sample demonstrates the use of pixel shaders to procedurally generate natural phenomena such as fire.
Rendering fire as an animation has the disadvantages of looking unrealistic due to the cycling animation and of requiring a lot of texture memory to store the frames of animation. In addition to this, if there are many flames in the scene, and all use the same animation, the scene will look even more artificial.

The procedurally generated fire overcomes all these disadvantages by generating long non-repeating animations that can be fully controlled by the application and requires only two textures. The sample uses 1.4 pixel shader to implement the effect.


The ProceduralFire sample creates a fire effect by rendering a billboard. This billboard has three perturbation textures vertically scrolling at different speeds and a base flame texture mapped onto it. Three perturbation values are combined in the pixel shader and used to lookup the base flame image with a dependent texture read. The perturbation is attenuated in the vertical direction to make top of the flame more turbulent than the base.

The sample can be further advanced for rendering multiple unique flames simultaneously. The vertex shader can be used to pass unique per-flame parameters to the pixel shader through texture coordinate interpolators and to vary perturbation maps scrolling speed and offset.

 
The following keys are implemented. The dropdown menus can be used for the same controls.
Procedural Fire Controls
  • [ENTER] - Starts and stops the scene
  • [SPACE] - Advances the scene by a small increment
  • [F2] - Prompts user to select a new rendering device or display mode
  • Alt+[ENTER] - Toggles between fullscreen and windowed modes
  • [ESC] - Quit
 
Requirements

Download
 
 


 



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