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


функция обратного вызова PFND3D10DDI_CREATEPIXELSHADER (d3d10umddi.h)

Функция CreatePixelShader(D3D10) создает шейдер пикселей.

Синтаксис

PFND3D10DDI_CREATEPIXELSHADER Pfnd3d10ddiCreatepixelshader;

void Pfnd3d10ddiCreatepixelshader(
  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)

См. также

CalcPrivateShaderSize

D3D10DDIARG_STAGE_IO_SIGNATURES

D3D10DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb