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