Текстуры: различия между версиями

Материал из GraphiX Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== IGXBaseTexture == === Описание === Базовый интерфейс текстуры === Методы === <syntaxhighlight lang="C++"> //! возв…»)
 
 
(не показано 15 промежуточных версий этого же участника)
Строка 1: Строка 1:
== IGXBaseTexture ==
+
== Описание ==
 +
'''Текстуры''' (textures) - объекты с графической информацией, представленной в виде пикселей, которые имеют цвет.
  
=== Описание ===
+
== Перечисление статей ==
Базовый интерфейс текстуры
+
Перечисленные ниже статьи помогут последовательно освоить текстуры:
 +
* [[GXTEXTURE_TYPE|Типы текстур]]
 +
* [[Форматы текстур]]
 +
* [[GX_TEXFLAG|Свойства текстур]]
 +
* [[GXFILTER|Фильтрация текстур]]
 +
* [[GXTEXTURE_ADDRESS_MODE|Адресация текстур]]
 +
* Базовые интерфейсы текстур:
 +
** [[IGXBaseTexture]]
 +
** [[IGXBaseTextureD]]
 +
* Итоговые интерфейсы текстур
 +
** [[IGXTexture2D]]
 +
** [[IGXTexture3D]]
 +
** [[IGXTextureCube]] ([[GXCUBEMAP_FACES|константы граней]])
 +
* [[Методы графического контекста текстур]] (загрузка/создание, использование и другое)
  
=== Методы ===
+
== Тематические ссылки ==
<syntaxhighlight lang="C++">
+
Cubemap (кубические текстуры):
//! возвращает формат
+
*[https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D1%80%D0%B0 Кубическая текстура]
virtual GXFORMAT getFormat() = 0;
+
*[https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B0%D0%B9%D0%B1%D0%BE%D0%BA%D1%81 Скайбокс]
</syntaxhighlight>
+
*[https://storage.googleapis.com/gweb-uniblog-publish-prod/images/StandardCubemapGlobe.max-1000x1000.png Ссылка на изображение описания концепции] и [https://blog.google/products/google-ar-vr/bringing-pixels-front-and-center-vr-video/ Ссылка на статью с изображением]
  
<syntaxhighlight lang="C++">
+
Фильтрация:
//! возвращает тип
+
*[https://www.iguides.ru/main/other/chto_takoe_filtratsiya_tekstur_v_igrakh/ Что такое фильтрация текстур в играх?]
virtual GXTEXTURE_TYPE getType() = 0;
+
*[https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B8%D0%B7%D0%BE%D1%82%D1%80%D0%BE%D0%BF%D0%BD%D0%B0%D1%8F_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F Анизотропная фильтрация]
</syntaxhighlight>
 
  
<syntaxhighlight lang="C++">
+
mipmap:
/*! использовать текстуру как render target, используется нулевой лод (максимальный размер)
+
*[https://ru.wikipedia.org/wiki/MIP-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 Статья на wikipedia.org]
@note #IGXTexture3D и #IGXTextureCube используются как многослойные, #IGXTexture2D как 2D
+
*[https://gamedev.ru/code/terms/MipMap Статья на gamedev.ru]
*/
 
virtual IGXSurface* asRenderTarget() = 0;
 
</syntaxhighlight>
 
  
== IGXBaseTextureD ==
+
Адресация:
 +
*[http://netlib.narod.ru/library/book0032/ch06_05.htm Страница из перевода книги "Введение в программирование трехмерных игр с DirectX 9.0", автор Франк Луна]
  
=== Описание ===
+
[[Category:Текстуры]]
Базовый интерфейс 2D/3D текстур
 
 
 
=== Методы ===
 
<syntaxhighlight lang="C++">
 
//! возвращает ширину в пикселях
 
virtual UINT getWidth() = 0;
 
</syntaxhighlight>
 
 
 
<syntaxhighlight lang="C++">
 
//! возвращает высоту в пикселях
 
virtual UINT getHeight() = 0;
 
</syntaxhighlight>
 
 
 
<syntaxhighlight lang="C++">
 
/*! заполняет текстуру данными из буфера
 
@note pData должен быть размером как текстура, частичное заполнение недопустимо
 
*/
 
virtual void update(void *pData) = 0;
 
</syntaxhighlight>
 
 
 
== IGXTexture2D ==
 
 
 
===Описание ===
 
Интерфейс 2D текстуры
 
 
 
=== Методы ===
 
<syntaxhighlight lang="C++">
 
//! возвращает mipmap уровень по номеру, нумерация с нуля, самый большой нулевой, если уровня нет - вернет 0
 
virtual IGXSurface* getMipmap(UINT i = 0) = 0;
 
</syntaxhighlight>
 
 
 
== IGXTexture3D ==
 
 
 
=== Описание ===
 
Интерфейс 3D текстуры
 
 
 
=== Методы ===
 
<syntaxhighlight lang="C++">
 
//! возвращает глубину текстуры
 
virtual UINT getDepth() = 0;
 
</syntaxhighlight>
 
 
 
== IGXTextureCube ==
 
 
 
=== Описание ===
 
Интерфейс кубической текстуры
 
 
 
=== Методы ===
 
<syntaxhighlight lang="C++">
 
//! возвращает mipmap уровень uNum, грани face
 
virtual IGXSurface* getMipmap(GXCUBEMAP_FACES face, UINT uNum = 0) = 0;
 
</syntaxhighlight>
 
 
 
<syntaxhighlight lang="C++">
 
//! возвращает размер 2D грани
 
virtual UINT getSize() = 0;
 
</syntaxhighlight>
 

Текущая версия на 05:50, 18 июня 2019

Описание[править]

Текстуры (textures) - объекты с графической информацией, представленной в виде пикселей, которые имеют цвет.

Перечисление статей[править]

Перечисленные ниже статьи помогут последовательно освоить текстуры:

Тематические ссылки[править]

Cubemap (кубические текстуры):

Фильтрация:

mipmap:

Адресация: