Текстуры

Материал из GraphiX Wiki
Версия от 08:40, 14 июня 2019; Byurrer (обсуждение | вклад) (Новая страница: «== IGXBaseTexture == === Описание === Базовый интерфейс текстуры === Методы === <syntaxhighlight lang="C++"> //! возв…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

IGXBaseTexture

Описание

Базовый интерфейс текстуры

Методы

//! возвращает формат
virtual GXFORMAT getFormat() = 0;
//! возвращает тип
virtual GXTEXTURE_TYPE getType() = 0;
/*! использовать текстуру как render target, используется нулевой лод (максимальный размер)
 @note #IGXTexture3D и #IGXTextureCube используются как многослойные, #IGXTexture2D как 2D
*/
virtual IGXSurface* asRenderTarget() = 0;

IGXBaseTextureD

Описание

Базовый интерфейс 2D/3D текстур

Методы

//! возвращает ширину в пикселях
virtual UINT getWidth() = 0;
//! возвращает высоту в пикселях
virtual UINT getHeight() = 0;
/*! заполняет текстуру данными из буфера
 @note pData должен быть размером как текстура, частичное заполнение недопустимо
*/
virtual void update(void *pData) = 0;

IGXTexture2D

Описание

Интерфейс 2D текстуры

Методы

//! возвращает mipmap уровень по номеру, нумерация с нуля, самый большой нулевой, если уровня нет - вернет 0
virtual IGXSurface* getMipmap(UINT i = 0) = 0;

IGXTexture3D

Описание

Интерфейс 3D текстуры

Методы

//! возвращает глубину текстуры
virtual UINT getDepth() = 0;

IGXTextureCube

Описание

Интерфейс кубической текстуры

Методы

//! возвращает mipmap уровень uNum, грани face
virtual IGXSurface* getMipmap(GXCUBEMAP_FACES face, UINT uNum = 0) = 0;
//! возвращает размер 2D грани
virtual UINT getSize() = 0;