Метод IDirect3DDevice9::SetTexture (d3d9.h)
Назначает текстуру сцене для устройства.
Синтаксис
HRESULT SetTexture(
[in] DWORD Stage,
[in] IDirect3DBaseTexture9 *pTexture
);
Параметры
[in] Stage
Тип: DWORD
Отсчитываемый от нуля номер выборки. Текстуры привязываются к выборкам; Образцы определяют состояние выборки, например режим фильтрации и режим упаковки адресов. На текстуры по-разному ссылаются программируемые и фиксированные конвейеры функций:
- Программируемые шейдеры ссылались на текстуры с помощью номера выборки. Количество выборок, доступных программируемому шейдеру, зависит от версии шейдера. Сведения о шейдерах вершин см. в разделе Sampler (Direct3D 9 asm-vs). Сведения о шейдерах пикселей см. в разделе Sampler (Direct3D 9 asm-ps).
- С другой стороны, конвейер фиксированной функции ссылается на текстуры по номеру этапа текстуры. Максимальное количество выборок определяется по двум caps: MaxSimultaneousTextures и MaxTextureBlendStages структуры D3DCAPS9 .
- Для сопоставления смещения (Direct3D 9) используется специальный номер с именем D3DDMAPSAMPLER.
- Программируемый шейдер вершин использует специальное число, определенное D3DVERTEXTEXTURESAMPLER при доступе к текстурам вершин в vs_3_0 (DirectX HLSL).
[in] pTexture
Тип: IDirect3DBaseTexture9*
Указатель на интерфейс IDirect3DBaseTexture9 , представляющий заданную текстуру.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.
Комментарии
SetTexture не допускается, если текстура создается с типом пула D3DPOOL_SCRATCH. SetTexture не допускается с типом пула D3DPOOL_SYSTEMMEM текстуры, если для DevCaps не задано D3DDEVCAPS_TEXTURESYSTEMMEMORY.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |