http://www.pvrdev.com/pub/PC/eg/h/Cloth.htm
http://www.pvrdev.com/pub/PC/eg/h/DeferredShading.htm
http://www.pvrdev.com/pub/PC/eg/h/Voxel.htm
Cloth
In computer graphics, simulating cloth has always been a topic of much research. In everyday life we observe cloth behaviour without realizing the complexity of the physics involved. The model and shaders introduced in this demo attempt to simulate cloth using a simplified mass-less spring model which can be executed completely by next generation graphics hardware. The spring model is used to generate the position and normal of a cloth’s control points, which are then stored into “geometry textures†using an advanced Pixel Shader 3.0. Finally, the vertex texturing capabilities of the Vertex Shader 3.0 model allows us to render the deformed cloth using the position and normal data stored in these geometry textures.
http://www.pvrdev.com/pub/PC/eg/h/DeferredShading.htm
Deferred Shading
Traditional rendering algorithms submit geometry and immediately apply shading effects to the rasterised primitives. Complex shading effects often require multiple render passes to produce the final pixel colour, with the geometry submitted every pass. Deferred shading (a.k.a. Quad Shading) is an alternative rendering technique that submits the scene geometry only once, storing per-pixel attributes into local video memory to be used in the subsequent rendering passes. In these later passes, screen-aligned quads are rendered, and the per-pixel attributes contained in the buffer are retrieved at a 1:1 mapping ratio so that each pixel is shaded individually.
http://www.pvrdev.com/pub/PC/eg/h/Voxel.htm
Voxel
With the advent of Pixel Shader 3_0, graphics hardware has become capable of rendering hardware-accelerated voxels.
Voxel objects are stored as a three dimensional map of matter, with each voxel (or texel in a volume map) indicating something about that “lump†of matter – its colour, translucency, or “power†in the case of metaballs. In the “power†case, a threshold value is used; voxel values that are above (or below) this value are considered to be solid matter, with the rest considered to be empty space.
Typically, voxel objects are converted to polygons before rendering using the “marching cubes†algorithm, or similar. The method presented here submits a single eight-vertex cube and extracts the surface in the pixel shader; a ray is traced step by step through the volume, sampling the texture at each step, searching for matter.