Compartir a través de


Función D3D10CreateEffectFromMemory (d3d10effect.h)

Crea un id3D10Effect a partir de un búfer que contiene un efecto compilado.

Sintaxis

HRESULT D3D10CreateEffectFromMemory(
  [in]  void             *pData,
  [in]  SIZE_T           DataLength,
  [in]  UINT             FXFlags,
  [in]  ID3D10Device     *pDevice,
  [in]  ID3D10EffectPool *pEffectPool,
  [out] ID3D10Effect     **ppEffect
);

Parámetros

[in] pData

Tipo: void*

Puntero a un efecto compilado.

[in] DataLength

Tipo: SIZE_T

Longitud de pData.

[in] FXFlags

Tipo: UINT

Opciones de compilación de efectos.

[in] pDevice

Tipo: ID3D10Device*

Puntero al dispositivo (consulte ID3D10Device Interface).

[in] pEffectPool

Tipo: ID3D10EffectPool*

Opcional. Puntero a un espacio de memoria para las variables de efecto que se comparten entre efectos (vea ID3D10EffectPool Interface).

[out] ppEffect

Tipo: ID3D10Effect**

Puntero a una interfaz ID3D10Effect que contiene el efecto creado.

Valor devuelto

Tipo: HRESULT

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

Observaciones

Nota:

La vinculación d3d10_1.lib proporciona la implementación en d3d10_1.dll, que es la implementación del modelo de programación Direct3D10.1. La vinculación d3d10.lib proporciona la implementación en d3d10.dll, que es la implementación del modelo de programación direct3D10.

Este método se usa para crear un objeto ID3D10Effect Interface a partir de un efecto compilado antes del tiempo de ejecución y cargado en la memoria. Para obtener ayuda para precompilar un efecto, consulte Compilación sin conexión. Para cargar y compilar un archivo .fx ASCII, vea Compilar un efecto (Direct3D 10).

Ejemplos

Compilación del efecto

fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx      

Cargue el efecto compilado en tiempo de ejecución.

ifstream is("tutorial03.fxo", ios::binary);
is.seekg(0,ios_base::end);
streampos pos = is.tellg();
is.seekg(0,ios_base::beg);
char * effectBuffer = new char[pos];
is.read(effectBuffer,pos);
	
hr = D3D10CreateEffectFromMemory((void *)effectBuffer,pos,0,g_pd3dDevice,NULL,&g_pEffect);

Requisitos

   
Plataforma de destino Windows
Encabezado d3d10effect.h
Library d3d10_1.lib, d3d10.lib
Archivo DLL d3d10_1.dll, d3d10.dll

Consulte también

Funciones de efecto (Direct3D 10)