Microsoft DirectX 8.1 (C++)

PointSprites Sample

Description

The PointSprites sample shows how to use the new Microsoft® Direct3D® point sprites feature. A point sprite is simply a forward-facing, textured quad that is referenced only by (x,y,z) position coordinates. Point sprites are most often used for particle systems and related effects.

Not all cards support all features for point sprites. For more information on point sprites, refer to the Microsoft DirectX® SDK documentation.

Path

Source: (SDK root)\Samples\Multimedia\Direct3D\PointSprites

Executable: (SDK root)\Samples\Multimedia\Direct3D\Bin

User's Guide

The following table lists the keys that are implemented. You can use menu commands for the same controls.

Key Action
ENTER Starts and stops the scene.
SPACEBAR Advances the scene by a small increment.
W, S Moves forward and back.
E, Q Turns left and right.
A, Z Rotates up and down.
ARROW KEYS Slides left, right, up, and down.
F1 Shows Help or available commands.
F2 Prompts the user to select a new rendering device or display mode.
F3 Animates the emitter.
F4 Changes color.
ALT+ENTER Toggles between full-screen and windowed modes.
ESC Exits the application.

Programming Notes

Without Direct3D support, point sprites can be implemented with four vertices that are oriented each frame towards the eyepoint, much like a billboard. With Direct3D, though, you can refer to each point sprite just by its center position and a radius. This saves processor computation time and bandwidth when uploading vertex information to the graphics card.

In this sample, each particle is implemented using multiple alpha-blended point sprites, giving the particle a motion-blur effect.

This sample uses common DirectX code that consists programming elements such as helper functions. This code is shared with other samples in the DirectX SDK. You can find the common headers and source code in (SDK root)\Samples\Multimedia\Common.