DirectX SDK

Extent Update State

[C++]

Direct3D supports updating the viewport extents to reflect the area of the viewport affected by rendering methods. In an application written with C++, the D3DRENDERSTATE_EXTENTS render state controls extents updates made by the system. The default setting for this state, FALSE, disables extent updates. Applications that intend to use the IDirect3DDevice7::GetClipStatus and IDirect3DDevice7::SetClipStatus methods to manipulate the viewport extents can enable extents updates by setting D3DRENDERSTATE_EXTENTS to TRUE.

The extents updates render state is entirely independent of extents updates that can be performed with a vertex buffer. The IDirect3DVertexBuffer7::ProcessVertices and IDirect3DVertexBuffer7::ProcessVerticesStrided methods accept their own flags to control extents updates during vertex processing.

Note  This render state is analogous, albeit reciprocal, to the D3DDP_DONOTUPDATEEXTENTS flag used in legacy rendering methods. This render state supersedes the D3DDP_DONOTUPDATEEXTENTS flag for DirectX 7.0. Where the D3DDP_DONOTUPDATEEXTENTS flag disabled extent updates on a per-call basis, this render state affects all rendering calls until the state value is again changed by the application.

[Visual Basic]

Direct3D supports updating the viewport extents to reflect the area of the viewport affected by rendering methods. A Visual Basic application can use the D3DRENDERSTATE_EXTENTS render state to control extents updates made by the system. The default setting for this state, False, disables extent updates. Applications that intend to use the Direct3DDevice7.GetClipStatus and Direct3DDevice7.SetClipStatus methods to manipulate the viewport extents can enable extents updates by setting D3DRENDERSTATE_EXTENTS to True.

The extents updates render state is entirely independent of extents updates that can be performed with a vertex buffer. The Direct3DVertexBuffer7.ProcessVertices method accepts its own flags to control extents updates during vertex processing.