Compartir a través de


Función D3D10CompileShader (d3d10shader.h)

Compile un sombreador HLSL .

Nota Use D3DX10CompileFromMemory en lugar de esta función.
 

Sintaxis

HRESULT D3D10CompileShader(
  [in]  LPCSTR                   pSrcData,
  [in]  SIZE_T                   SrcDataSize,
  [in]  LPCSTR                   pFileName,
  [in]  const D3D10_SHADER_MACRO *pDefines,
  [in]  LPD3D10INCLUDE           pInclude,
  [in]  LPCSTR                   pFunctionName,
  [in]  LPCSTR                   pProfile,
  [in]  UINT                     Flags,
  [out] ID3D10Blob               **ppShader,
  [out] ID3D10Blob               **ppErrorMsgs
);

Parámetros

[in] pSrcData

Tipo: LPCSTR

Puntero a una cadena que contiene el código fuente del sombreador.

[in] SrcDataSize

Tipo: SIZE_T

Tamaño de pSrcData, en bytes.

[in] pFileName

Tipo: LPCSTR

Nombre del archivo que contiene el código del sombreador.

[in] pDefines

Tipo: const D3D10_SHADER_MACRO*

Opcional. Puntero a una matriz de definiciones de macros (vea D3D10_SHADER_MACRO). La última estructura de la matriz actúa como terminador y debe tener todos los miembros establecidos en 0.
Si no se usa, establezca pDefines en NULL.

[in] pInclude

Tipo: LPD3D10INCLUDE*

Opcional. Puntero a una interfaz de interfaz ID3D10Include para controlar archivos de inclusión. Si se establece en NULL , se producirá un error de compilación si un sombreador contiene un #include.

[in] pFunctionName

Tipo: LPCSTR

Nombre de la función de punto de entrada del sombreador donde comienza la ejecución del sombreador.

[in] pProfile

Tipo: LPCSTR

Cadena que especifica el perfil de sombreador o el modelo de sombreador.

[in] Flags

Tipo: UINT

Opciones de compilación del sombreador.

[out] ppShader

Tipo: ID3D10Blob**

Puntero a una interfaz ID3D10Blob que contiene el sombreador compilado, así como cualquier información incrustada de depuración y tabla de símbolos.

[out] ppErrorMsgs

Tipo: ID3D10Blob**

Puntero a una interfaz ID3D10Blob que contiene una lista de errores y advertencias que se produjeron durante la compilación. Estos errores y advertencias son idénticos a la salida de depuración de un depurador.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los siguientes códigos de retorno de Direct3D 10.

Comentarios

Esta función usa la versión del compilador de HLSL publicada en el SDK de DirectX de noviembre de 2006.

Esta función implementa dos maneras de proporcionar la información del sombreador de entrada. Use pSrcData y SrcDataLen para especificar una cadena que contenga el código HLSL del sombreador (y establezca pFileName en NULL) o use pFileName para especificar el nombre de un archivo de sombreador o efecto (y establezca pSrcData en NULL).

Para configurar una fase de canalización programable, compile un sombreador y, a continuación, enlace el sombreador a la fase de canalización adecuada. Por ejemplo, este es un ejemplo de compilación de un sombreador de geometría (vea Compilar un sombreador de geometría).

Esta función, D3D10CompileShader, llama a la versión del compilador de sombreador que se envía cada vez que se libera el sistema operativo. Una versión más actualizada del compilador de sombreador se incluye cuando se distribuye el SDK de DirectX, al que se puede acceder desde D3DX mediante una llamada a una versión de la función de punto de entrada del compilador del sombreador, como D3DX10CompileFromFile. Es preferible usar las funciones de punto de entrada D3DX para asegurarse de que se usará la versión más reciente del compilador de sombreador si va a redistribuir las bibliotecas redistribuibles de DirectX.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d10shader.h
Library D3D10.lib
Archivo DLL D3D10.dll

Consulte también

Funciones del sombreador