Share via


PFND3D10DDI_CREATEGEOMETRYSHADER función de devolución de llamada (d3d10umddi.h)

La función CreateGeometryShader crea un sombreador de geometría.

Sintaxis

PFND3D10DDI_CREATEGEOMETRYSHADER Pfnd3d10ddiCreategeometryshader;

void Pfnd3d10ddiCreategeometryshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D10DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

Parámetros

unnamedParam1

hDevice [in]

Identificador del dispositivo de visualización (contexto de gráficos).

pShaderCode

Matriz de tokens UINT de CONST que componen el código del sombreador. El primer token del flujo de código del sombreador siempre es el token de versión. El siguiente token de la secuencia es el token de longitud que determina el final del flujo de código del sombreador. Para obtener más información sobre el formato del código de sombreador de la versión 10 de Direct3D, consulta los comentarios dentro del archivo de encabezado D3d10tokenizedprogramformat.hpp que se incluye con el WDK.

unnamedParam3

hShader [in]

Identificador de los datos privados del controlador para el sombreador de geometría. El controlador devuelve el tamaño, en bytes, de la región de memoria que el tiempo de ejecución de Microsoft Direct3D debe asignar para los datos privados de una llamada a la función CalcPrivateShaderSize del controlador. El controlador es realmente un puntero a una región de memoria, el tamaño del que solicitó el controlador. El controlador usa esta región de memoria para almacenar estructuras de datos internas relacionadas con su objeto de sombreador.

unnamedParam4

hRTShader [in]

Identificador del sombreador de geometría con salida de flujo que el controlador debe usar en cualquier momento en que vuelva a llamar al tiempo de ejecución de Direct3D.

unnamedParam5

pSignatures [in]

Puntero a una estructura de D3D10DDIARG_STAGE_IO_SIGNATURES que constituye la firma del sombreador.

Valor devuelto

None

Observaciones

El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.

El controlador puede pasar E_OUTOFMEMORY (si el controlador se queda sin memoria) o D3DDDIERR_DEVICEREMOVED (si se ha quitado el dispositivo) en una llamada a la función pfnSetErrorCb . El tiempo de ejecución de Direct3D determinará que cualquier otro error es crítico. Si el controlador pasa algún error, incluido D3DDDIERR_DEVICEREMOVED, el tiempo de ejecución de Direct3D determinará que el identificador no es válido; Por lo tanto, el runtime no llamará a la función DestroyShader para destruir el identificador que especifica el parámetro hShader .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CalcPrivateShaderSize

D3D10DDIARG_STAGE_IO_SIGNATURES

D3D10DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb