Export (0) Print
Expand All
Expand Minimize

IDirect3DDevice9::SetSoftwareVertexProcessing method

Use this method to switch between software and hardware vertex processing.

Syntax


HRESULT SetSoftwareVertexProcessing(
  [in]  BOOL bSoftware
);

Parameters

bSoftware [in]

Type: BOOL

TRUE to specify software vertex processing; FALSE to specify hardware vertex processing.

Return value

Type: HRESULT

If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.

Remarks

The restrictions for changing modes are as follows:

  • If a device is created with D3DCREATE_SOFTWARE_VERTEXPROCESSING, the vertex processing will be done in software and cannot be changed.
  • If a device is created with D3DCREATE_HARDWARE_VERTEXPROCESSING, the vertex processing will be done in hardware and cannot be changed.
  • If a device is created with D3DCREATE_MIXED_VERTEXPROCESSING, the vertex processing will be done in hardware by default. The processing can be switched to software (or back to hardware) using IDirect3DDevice9::SetSoftwareVertexProcessing.

An application can create a mixed-mode device to use both the software vertex processing and the hardware vertex processing. To switch between the two vertex processing modes in DirectX 8.x, use IDirect3DDevice8::SetRenderState with the render state D3DRS_SOFTWAREVERTEXPROCESSING and the appropriate DWORD argument. The drawback of the render state approach was the difficulty in defining the semantics for state blocks. Applications and the runtime had to do extra work and be careful while recording and playing back state blocks.

In Direct3D 9, use SetSoftwareVertexProcessing instead. This new API is not recorded by StateBlocks.

Requirements

Header

D3D9.h

Library

D3D9.lib

See also

IDirect3DDevice9
IDirect3DDevice9::GetSoftwareVertexProcessing

 

 

Community Additions

ADD
Show:
© 2014 Microsoft