Текстуры
Версия от 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;