функция обратного вызова PFND3D11DDI_CREATEHULLSHADER (d3d10umddi.h)
Функция CreateHullShader создает шейдер корпуса.
Синтаксис
PFND3D11DDI_CREATEHULLSHADER Pfnd3d11ddiCreatehullshader;
void Pfnd3d11ddiCreatehullshader(
D3D10DDI_HDEVICE unnamedParam1,
const UINT *pShaderCode,
D3D10DDI_HSHADER unnamedParam3,
D3D10DDI_HRTSHADER unnamedParam4,
const D3D11DDIARG_TESSELLATION_IO_SIGNATURES *unnamedParam5
)
{...}
Параметры
unnamedParam1
hDevice [in]
Дескриптор устройства отображения (графический контекст).
pShaderCode
pCode [in]
Массив маркеров UINT CONST, формающих код шейдера. Первый маркер в потоке кода шейдера всегда является маркером версии. Следующий маркер в потоке — это маркер длины, определяющий конец потока кода шейдера. Дополнительные сведения о формате кода шейдера Direct3D версии 11 см. в комментариях в файле заголовка WDK D3d11tokenizedprogramformat.hpp.
unnamedParam3
hShader [in]
Дескриптор частных данных водителя для шейдера корпуса. Драйвер возвращает размер в байтах области памяти, которую среда выполнения Microsoft Direct3D должна выделить для частных данных из вызова функции CalcPrivateTesellationShaderSize. Дескриптор — это просто указатель на область памяти, размер которой запрашивал драйвер. Драйвер использует этот регион памяти для хранения внутренних структур данных, связанных с объектом тесселяции-шейдера.
unnamedParam4
hRTShader [in]
Дескриптор шейдера корпуса, который должен использовать драйвер, при вызове обратно в среду выполнения Direct3D.
unnamedParam5
pSignatures [in]
Указатель на структуру D3D11DDIARG_TESSELLATION_IO_SIGNATURES, которая формирует подпись тесселяции-шейдера.
Возвращаемое значение
Никакой
Замечания
Драйвер может использовать функцию обратного вызова pfnSetErrorCb для задания кода ошибки.
Драйвер может передать E_OUTOFMEMORY (если драйвер не хватает памяти) или D3DDDIERR_DEVICEREMOVED (если устройство удалено) в вызове функции pfnSetErrorCb. Среда выполнения Direct3D определяет, что любые другие ошибки критически важны. Если драйвер передает какие-либо ошибки, включая D3DDDIERR_DEVICEREMOVED, среда выполнения Direct3D определяет, что дескриптор недопустим; Поэтому среда выполнения не вызывает функцию DestroyShader для уничтожения дескриптора, указанного параметром hShader.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | CreateHullShader поддерживается начиная с операционной системы Windows 7. |
целевая платформа | Настольный |
заголовка | d3d10umddi.h (include D3d10umddi.h) |
См. также
CalcPrivateTessellationShaderSize