Поделиться через


Метод IDirect3DDevice9::SetSoftwareVertexProcessing (d3d9helper.h)

Используйте этот метод для переключения между программной и аппаратной обработкой вершин.

Синтаксис

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

Параметры

[in] bSoftware

Тип: BOOL

ЗНАЧЕНИЕ TRUE , чтобы указать программную обработку вершин; ЗНАЧЕНИЕ FALSE для указания аппаратной обработки вершин.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.

Комментарии

Ниже приведены ограничения для изменения режимов (также см. примечания к константам D3DCREATE ).

  • Если устройство создается с D3DCREATE_SOFTWARE_VERTEXPROCESSING, обработка вершин будет выполняться программными средствами и не может быть изменена.
  • Если устройство создано с D3DCREATE_HARDWARE_VERTEXPROCESSING, обработка вершин будет выполняться на оборудовании и не может быть изменена.
  • Если устройство создается с D3DCREATE_MIXED_VERTEXPROCESSING, обработка вершин по умолчанию выполняется на оборудовании. Обработку можно переключить на программное обеспечение (или обратно на оборудование) с помощью IDirect3DDevice9::SetSoftwareVertexProcessing.
Приложение может создать устройство в смешанном режиме для использования как программной обработки вершин, так и аппаратной обработки вершин. Чтобы переключиться между двумя режимами обработки вершин в DirectX 8.x, используйте IDirect3DDevice8::SetRenderState с состоянием отрисовки D3DRS_SOFTWAREVERTEXPROCESSING и соответствующим аргументом DWORD. Недостатком подхода к состоянию отрисовки была сложность определения семантики для блоков состояний. Приложения и среда выполнения должны выполнять дополнительную работу и быть осторожными при записи и воспроизведении блоков состояния.

В Direct3D 9 используйте setSoftwareVertexProcessing . Этот новый API не записывается в StateBlocks.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9helper.h (включая D3D9.h)
Библиотека D3D9.lib

См. также раздел

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing