?/TD> |

Microsoft DirectX 9.0 |

Sets the coefficients of a user-defined clipping plane for the device.

Syntax

HRESULT SetClipPlane(

DWORDIndex, const float *pPlane);

Parameters

Index- [in] Index of the clipping plane for which the plane equation coefficients are to be set.
pPlane- [in] Pointer to an address of a four-element array of values that represent the clipping plane coefficients to be set, in the form of the general plane equation. See Remarks.

Return Value

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value is D3DERR_INVALIDCALL. This error indicates that the value in

Indexexceeds the maximum clipping plane index supported by the device or that the array atpPlaneis not large enough to contain four floating-point values.

Remarks

The coefficients that this method sets take the form of the general plane equation. If the values in the array at

pPlanewere labeled A, B, C, and D in the order that they appear in the array, they would fit into the general plane equation so that Ax + By + Cz + Dw = 0. A point with homogeneous coordinates (x, y, z, w) is visible in the half space of the plane if Ax + By + Cz + Dw >= 0. Points that exist behind the clipping plane are clipped from the scene.When the fixed function pipeline is used the plane equations are assumed to be in world space. When the programmable pipeline is used the plane equations are assumed to be in the clipping space (the same space as output vertices).

This method does not enable the clipping plane equation being set. To enable a clipping plane, set the corresponding bit in the

DWORDvalue applied to the D3DRS_CLIPPLANEENABLE render state.

See Also

IDirect3DDevice9::GetClipPlane