Поделиться через


Функция D3DXCreateEffectFromFile

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

Синтаксис

HRESULT D3DXCreateEffectFromFile(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCTSTR           pSrcFile,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

Параметры

pDevice [in]

Тип: LPDIRECT3DDEVICE9

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

pSrcFile [in]

Тип: LPCTSTR

Указатель на имя файла. Этот параметр поддерживает строки Юникода и ANSI. См. заметки.

pDefines [in]

Тип: const D3DXMACRO*

Необязательный массив определений макросов препроцессора с завершением NULL. См . раздел D3DXMACRO.

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

Тип: LPD3DXINCLUDE

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

Флаги [в]

Тип: DWORD

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

pPool [in]

Тип: LPD3DXEFFECTPOOL

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

ppEffect [out]

Тип: LPD3DXEFFECT*

Возвращает указатель на буфер, содержащий скомпилированный эффект. См . раздел ID3DXEffect.

ppCompilationErrors [out]

Тип: LPD3DXBUFFER*

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

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

Тип: HRESULT

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

Комментарии

Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в LPCWSTR. В противном случае тип данных LPCTSTR разрешается в LPCSTR.

Параметр компилятора также определяет версию функции. Если определен Юникод, вызов функции разрешается в D3DXCreateEffectFromFileW. В противном случае вызов функции разрешается в D3DXCreateEffectFromFileA, так как используются строки ANSI.

Требования

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

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

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

D3DXCompileShader

D3DXCompileShaderFromResource