Submitted by , posted on 02 March 2001

Image Description, by

This is the result of my first foray into D3D Vertex Shaders. It's the regular D3DXTeapot, rendered with three projective textures. One is a rotating fan-like texture, one a static vent-like texture, the other is a moving texture (the DirectX 'X'). The inspiration for making this was the Doom3 video shown at MacWorld the other day. Code-side I spend some time setting up projection matrices for each of the spot lights, set a few vertex shader constants, and then just render the mesh 3 times with alpha blending. Texture coordinates are generated given the object-space coordinates, they're clamped to the texture boundaries, and the texture is also multiplied by N*L (N=Vertex Normal, L=Light Vector) to get a nice falloff on the edges.

The DX8 binary is here:

The code for the vertex shader is included. Pretty standard, and probably grossly inefficient in register usage (hey, it's the first assembly code I've written in years). Makes for a purty app tho.


Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.