Функция D3DXCreateEffect

Создайте эффект на основе описания ASCII или двоичного эффекта.

Синтаксис

HRESULT D3DXCreateEffect(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCVOID           pSrcData,
  _In_        UINT              SrcDataLen,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

Параметры

pDevice [in]

Тип: LPDIRECT3DDEVICE9

Указатель на устройство, которое создаст эффект. См. раздел IDirect3DDevice9.

pSrcData [in]

Тип: LPCVOID

Указатель на буфер, содержащий описание эффекта.

SrcDataLen [in]

Тип: UINT

Длина данных эффекта в байтах.

pDefines [in]

Тип: const D3DXMACRO*

Необязательный массив структур D3DXMACRO со значением NULL, описывающий определения препроцессора. Это значение может иметь значение NULL.

pВключение [in]

Тип: LPD3DXINCLUDE

Необязательный указатель интерфейса ID3DXInclude, используемый для обработки директив #include. Если это значение равно NULL, #includes будет учитываться при компиляции из файла или вызвать ошибку при компиляции из ресурса или памяти.

Флаги [in]

Тип: DWORD

Если pSrcData содержит текстовый эффект, флаги могут быть сочетанием флагов D3DXSHADER и D3DXFX ; В противном случае pSrcData содержит двоичный эффект, и единственными флагами являются флаги D3DXFX. Компилятор Direct3D 10 HLSL теперь используется по умолчанию. Дополнительные сведения см. в статье Средство компилятора эффектов .

pPool [in]

Тип: LPD3DXEFFECTPOOL

Указатель на объект ID3DXEffectPool , используемый для общих параметров. Если это значение равно NULL, общие параметры не будут использоваться.

ppEffect [out]

Тип: LPD3DXEFFECT*

Возвращает указатель на интерфейс ID3DXEffect .

ppCompilationErrors [out]

Тип: LPD3DXBUFFER*

Возвращает буфер, содержащий список ошибок компиляции.

Возвращаемое значение

Тип: HRESULT

Если функция выполняется успешно, возвращаемое значение будет D3D_OK. В случае сбоя функции возвращается одно из следующих значений: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Требования

Требование Значение
Заголовок
D3DX9Effect.h
Библиотека
D3dx9.lib

См. также раздел

Функции эффектов

D3DXCompileShader

D3DXCompileShaderFromResource