LINUX.ORG.RU

Наложить несколько текстур на объект glu

 ,


0

1

Столкнулся с проблемой - не могу найти в поисковике как наложить текстуры на цилиндр gluCylinder - одна накладывается. Была идея склеить все возможные варианты - но там комбинация из 924 вариантов и даже если скляпать на питоне такую программу - пользы от того что я использую двух строчек цилиндра из glu с текстурированием и почти 1000 вариантов картинок вместо 400 строк своей реализации цилиндра с текстурированием уже готовым - не видно пользы от этого.



Последнее исправление: bad_master (всего исправлений: 2)

Делаешь фрагментный шейдер, в нём комбинируешь сколько хочешь текстур.

slovazap ★★★★★
()

Посмотри любой пример по обычному мультитекстурированию.

generaldynamix
()
Ответ на: комментарий от generaldynamix

Писать сейчас что-то околоигровое с нуля - дебилизм.

Тащить UE5 ради цилиндра с текстурами, гениально.

LINUX-ORG-RU ★★★★★
()

Ты так до конца дней будешь мучатся. У текстур есть идентификаторы gluint, у тебя на харде 1000 картинок, загружаешь любую и биндишь, надо поменять, выгружаешь текущую загружаешь другую и биндишь. Всё это можно делать налету. Используй нормальные модели, а не готовые примитивы. Ты должен иметь прямой контроль за данными

  • Модели - меш для рендеринга включая UV текстуры
  • Текстуры сами сопоставленные с мешем для отрисовки
  • Рендер, вершинный/фрагметный шейдера, буферы атрибутов, юниформы.

Возьми что-то готовое маленькое типа https://www.raylib.com/examples.html и не мучайся с базовыми примитивами glu которые только для демонстраций там всяких годятся или чего-то крайне простого с точки зрения отображения.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Наложить несколько текстур на объект glu

Не нужно тебе накладывать несколько текстур. Достаточно все картинки склеить в одну, а при во время рисования модели менять текстурные координаты вершин.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat
glBindTexture(GL_TEXTURE_2D, image->IndexTexture[FindTexture(drum[++k])]);
    gluCylinder(drums, 0.68f, 0.68f, 0.3f, 30, 30);
    gluQuadricTexture(drums, true);

Где в этом коде менять координаты?

bad_master
() автор топика
Ответ на: комментарий от i-rinat

ну если это работает то - ты непризнанный гений и невоспетый герой - почти никто на разных форумах это не предложил. Я немного не понял а как дальше

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 1)
Ответ на: комментарий от bad_master

ты непризнанный гений

Почему непризнанный?

а как дальше

А дальше выбрасываешь gluCylinder и реализуешь его самостоятельно, попутно расставляя нужные текстурные координаты.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.