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


Функция D3DXCreateEffectFromResource

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

Синтаксис

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

Параметры

pDevice [in]

Тип: LPDIRECT3DDEVICE9

Указатель на устройство.

hSrcModule [in]

Тип: HMODULE

Дескриптор для модуля, содержащего описание эффекта. Если этот параметр имеет значение NULL, будет использоваться текущий модуль.

pSrcResource [in]

Тип: LPCTSTR

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

pDefines [in]

Тип: const D3DXMACRO*

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

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

Тип: LPD3DXINCLUDE

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

Флаги [in]

Тип: DWORD

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

pPool [in]

Тип: LPD3DXEFFECTPOOL

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

ppEffect [out]

Тип: LPD3DXEFFECT*

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

ppCompilationErrors [out]

Тип: LPD3DXBUFFER*

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

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

Тип: HRESULT

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

Комментарии

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

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

D3DXCreateEffectFromResource загружает данные из ресурса типа RT_RCDATA. Дополнительные сведения о ресурсах Windows см. в статье MSDN.

Требования

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

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

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

D3DXCompileShader

D3DXCompileShaderFromResource