Урок 176. OpenGL. Индексы, текстуры для куба.

Обсуждение уроков
Ответить
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение damager82 » 11 апр 2016, 06:00

В этом уроке:
- используем индексы и текстуру для куба


Click here to read this article!
Последний раз редактировалось damager82 06 июн 2017, 23:12, всего редактировалось 3 раза.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

vasiliydz
Сообщения: 1
Зарегистрирован: 16 мар 2016, 20:10

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение vasiliydz » 12 апр 2016, 11:50

Здравствуйте.
Мучает вопрос: есть ли в этом какой-то смысл? Треугольниками можно затекстурить всё что захочешь, а у этого способа такое узкое применение.

Draz1w
Сообщения: 20
Зарегистрирован: 10 окт 2015, 17:07

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение Draz1w » 25 апр 2016, 08:49

vasiliydz писал(а):Здравствуйте.
Мучает вопрос: есть ли в этом какой-то смысл? Треугольниками можно затекстурить всё что захочешь, а у этого способа такое узкое применение.
С помощью cubemap делают бесшовное небо/окружение - скайбокс.
Зеркальные/мокрые поверхности. Изображение
На кубы действительно cubemap натягивают редко :)
Вся суть cubemap в том, что она накладывает текстуру не по u,v Координатам, а по трехмерным координатам x,y,z , поэтому кубическая текстура ложится на объект в соответствии с его геометрией.

danek130995
Сообщения: 42
Зарегистрирован: 25 янв 2015, 18:57

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение danek130995 » 29 апр 2016, 11:33

Draz1w писал(а): Вся суть cubemap в том, что она накладывает текстуру не по u,v Координатам, а по трехмерным координатам x,y,z , поэтому кубическая текстура ложится на объект в соответствии с его геометрией.
Как это понять? Я прочитал щас, что UV map — соответствие между координатами на поверхности трёхмерного объекта (X, Y, Z) и координатами на текстуре (U, V). Разве это не то же самое, что было в этом уроке? Мы накладывали плоскую развертку текстуры на 3D объект. Не пойму/ не знаю разницу между наложением текстуры по u,v и по трехмерным координатам x,y,z.

Draz1w
Сообщения: 20
Зарегистрирован: 10 окт 2015, 17:07

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение Draz1w » 03 май 2016, 07:14

danek130995 писал(а):Я прочитал щас, что UV map — соответствие между координатами на поверхности трёхмерного объекта (X, Y, Z) и координатами на текстуре (U, V). Разве это не то же самое, что было в этом уроке?
в UV map - 2 координаты для текстуры... и текстура двумерная. Чтобы наложить обычную текстуру, ты должен uv координаты рассчитать вручную где-то например в blender или 3dmax.
tut16.jpg
tut16.jpg (370.51 КБ) 9779 просмотров
В кубической текстуры для текстурных координат 3 координаты и они накладывают 6 разных текстур (а не одну двумерную). Причем если наложить их на единичную сферу ( сфера радиусом 1, с центром в 0) в соответствии просто с координатами вершин - мы получим как бы идеальную проекцию этих текстур на сферу - так делают например бесшовное окружение.
20030729_1.jpg
20030729_1.jpg (16.86 КБ) 9779 просмотров
Т.е. заранее предрассчитывать координаты для кубической текстуры как бы не требуется, используют просто координаты вершин. Поэтому с помощью нее часто делают именно такой расчет в реальном времени, все что касается отражающих поверхностей ( в каждом кадре же должно быть разное изображение), всякие мокрые поверхности, стеклянные, лужи например.

Spider
Сообщения: 5
Зарегистрирован: 14 сен 2017, 16:51

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение Spider » 16 ноя 2017, 17:32

" // грани куба
// ближняя
1, 3, 0,
0, 3, 2,

// дальняя
4, 6, 5,
5, 6, 7,

// левая
0, 2, 4,
4, 2, 6,

// правая
5, 7, 1,
1, 7, 3,"
и т.д., а как получились эти цифры в данном методе?

Vladimir068
Сообщения: 1
Зарегистрирован: 06 окт 2021, 08:40

Re: Урок 176. OpenGL. Индексы, текстуры для куба.

Сообщение Vladimir068 » 06 окт 2021, 08:40

Жаль, что до освещения не дошли в курсе.

Ответить