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 |