Microsoft DirectX 9.0

Stencil Depth Sample


The Stencil Depth sample uses stencil buffers to display the depth complexity of a scene. The depth complexity of a scene is defined as the average number of times each pixel is rendered.

Stencil buffers are a depth-buffer technique that can be updated as geometry is rendered, and used again as a mask for drawing more geometry. Common effects include mirrors, shadows (an advanced technique), dissolves, and so on.


Source: (SDK root)\Samples\C++\Direct3D\StencilBuffer\StencilDepth

Executable: (SDK root)\Samples\C++\Direct3D\Bin

User's Guide

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

ENTERStarts and stops the scene.
SPACEBARAdvances the scene by a small increment.
F2Prompts the user to select a new rendering device or display mode.
ALT+ENTERToggles between full-screen and windowed modes.
ESCExits the application.

Programming Notes

Displaying depth complexity is a valuable tool to analyze the performance of a scene. Scenes that draw the same pixels more than once can benefit from some scene optimization such as sorting the geometry in a front-to-back order.

Not all cards support all features for stencil-buffer techniques. Some hardware has no, or limited, stencil buffer support. For more information about stencil buffers, refer to the Microsoft?DirectX® software development kit (SDK) documentation.

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

© 2002 Microsoft Corporation. All rights reserved.