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

Confira também

Funções de efeito (Direct3D 10)