IDirect3DDevice9::CreateVertexShader-Methode (d3d9helper.h)
Erstellt einen Vertex-Shader.
Syntax
HRESULT CreateVertexShader(
[in] const DWORD *pFunction,
[out, retval] IDirect3DVertexShader9 **ppShader
);
Parameter
[in] pFunction
Typ: const DWORD*
Zeiger auf ein Array von Token, das den Vertex-Shader darstellt, einschließlich aller eingebetteten Debug- und Symboltabelleninformationen.
- Verwenden Sie eine Funktion wie D3DXCompileShader , um das Array aus einem HLSL-Shader zu erstellen.
- Verwenden Sie eine Funktion wie D3DXAssembleShader , um das Tokenarray aus einem Assemblysprach-Shader zu erstellen.
- Verwenden Sie eine Funktion wie ID3DXEffectCompiler::CompileShader , um das Array aus einem Effekt zu erstellen.
[out, retval] ppShader
Typ: IDirect3DVertexShader9**
Zeiger auf die zurückgegebene Vertexshaderschnittstelle (siehe IDirect3DVertexShader9).
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert wie folgt aussehen: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.
Hinweise
Wenn ein Gerät erstellt wird, verwendet IDirect3D9::CreateDevice das Verhaltensflag, um zu bestimmen, ob Scheitelpunkte in Hardware oder Software verarbeitet werden sollen. Es gibt drei Möglichkeiten:
- Verarbeiten Sie Scheitelpunkte in Hardware, indem Sie D3DCREATE_HARDWARE_VERTEXPROCESSING festlegen.
- Verarbeiten Sie Scheitelpunkte in Software, indem Sie D3DCREATE_SOFTWARE_VERTEXPROCESSING festlegen.
- Verarbeiten Sie Scheitelpunkte in Hardware oder Software, indem Sie D3DCREATE_MIXED_VERTEXPROCESSING festlegen. Verwenden Sie IDirect3DDevice9::SetSoftwareVertexProcessing, um ein Gerät im gemischten Modus zwischen Software- und Hardwareverarbeitung zu wechseln.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (include D3D9.h) |
Bibliothek | D3D9.lib |