Метод IDirect3DDevice9::D rawTriPatch (d3d9helper.h)
Рисует треугольное исправление, используя заданные в данный момент потоки.
Синтаксис
HRESULT DrawTriPatch(
[in] UINT Handle,
[in] const float *pNumSegs,
[in] const D3DTRIPATCH_INFO *pTriPatchInfo
);
Параметры
[in] Handle
Тип: UINT
Дескриптор треугольного патч для рисования.
[in] pNumSegs
Тип: const float*
Указатель на массив из трех значений с плавающей запятой, определяющих количество сегментов, на которые следует разделить каждый край треугольного исправления при тесселяции. См . D3DTRIPATCH_INFO.
[in] pTriPatchInfo
Тип: const D3DTRIPATCH_INFO*
Указатель на D3DTRIPATCH_INFO структуру, описывающую треугольный высокий порядок отрисовки.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.
Комментарии
Для статических исправлений: задайте вершинный шейдер, задайте соответствующие потоки, укажите сведения об исправлениях в параметре pTriPatchInfo и укажите дескриптор, чтобы Direct3D хватил и кэшировали сведения. Чтобы эффективно нарисовать исправление, вызовите IDirect3DDevice9::D rawTriPatch с параметром pTriPatchInfo, имеющим значение NULL. При рисовании кэшированного исправления заданные в данный момент потоки игнорируются. Переопределите кэшированные pNumSegs, указав новое значение для pNumSegs. При отрисовке кэшированного исправления необходимо задать тот же вершинный шейдер, который был задан при его захвате.
Вызов IDirect3DDevice9::D rawTriPatch с дескриптором делает недействительным тот же дескриптор, кэшированный предыдущим вызовом IDirect3Device9::D rawRectPatch .
Для динамических исправлений данные исправлений изменяются при каждой отрисовке исправления, поэтому кэшировать информацию не будет эффективно. Приложение может передать это в Direct3D, задав handle значение 0. В этом случае Direct3D рисует исправление с использованием заданных в данный момент потоков и значений pNumSegs и не кэширует никакие сведения. Недопустимо одновременно задать для Handle значение 0, а для pTriPatchInfo — значение NULL.
Требования
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |