Função D3D10CreateEffectFromMemory (d3d10effect.h)
Cria um ID3D10Effect de um buffer que contém um efeito compilado.
Sintaxe
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*
Um ponteiro para um efeito compilado.
[in] DataLength
Tipo: SIZE_T
Comprimento de pData.
[in] FXFlags
Tipo: UINT
Opções de compilação de efeito.
[in] pDevice
Tipo: ID3D10Device*
Um ponteiro para o dispositivo (consulte Interface ID3D10Device).
[in] pEffectPool
Tipo: ID3D10EffectPool*
Opcional. Um ponteiro para um espaço de memória para variáveis de efeito que são compartilhadas entre efeitos (consulte Interface ID3D10EffectPool).
[out] ppEffect
Tipo: ID3D10Effect**
Um ponteiro para uma Interface ID3D10Effect que contém o efeito criado.
Retornar valor
Tipo: HRESULT
Retorna um dos seguintes códigos de retorno do Direct3D 10.
Comentários
Observação
A vinculação d3d10_1.lib
fornece a implementação em d3d10_1.dll
, que é a implementação do modelo de programação Direct3D10.1. A vinculação d3d10.lib
fornece a implementação no d3d10.dll
, que é a implementação do modelo de programação Direct3D10.
Esse método é usado para criar um objeto ID3D10Effect Interface de um efeito que foi compilado antes do runtime e carregado na memória. Para obter ajuda para pré-compilar um efeito, consulte Compilação offline. Para carregar e compilar um arquivo .fx ASCII, consulte Compilar um efeito (Direct3D 10).
Exemplos
Compilar o efeito
fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx
Carregue o efeito compilado no runtime.
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 |
Cabeçalho | d3d10effect.h |
Biblioteca | d3d10_1.lib, d3d10.lib |
DLL | d3d10_1.dll, d3d10.dll |