|
|
|
|
Record and Apply StateBlocks |
Language: |
This example demonstrates how to use state blocks to set and retrieve a device's state.
A StateBlock instance can be used to return a device to a default state. It also can be stored as a member of a class to quickly restore a desired rendering state for that class. A StateBlock is most useful when used to save default device state once a device is created. This allows for rapid restoration of default state when needed during rendering.
To record and apply a state block:
In the following C# code example, device is assumed to be the rendering Device.
[C#]
// begin recording device state
device.BeginStateBlock();
// tell device the states and values to record
device.RenderState.FogStart = 0.3f;
device.RenderState.FogEnd = 100.0f;
device.RenderState.FogColor = Color.Gray;
// stop recording device state
StateBlock sb = device.EndStateBlock();
// save device states recorded above
sb.Capture;
// change device states
device.RenderState.FogStart = 2000.0f;
device.RenderState.FogEnd = 35000.0f;
device.RenderState.FogColor = Color.Yellow;
// render scene w/changed states
device.DrawPrimitives();
// restore device's saved states
sb.Apply();
// render scene w/saved states
device.DrawPrimitives();
Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center