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