4 / 4 / 3
Регистрация: 15.12.2012
Сообщений: 192
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Библиотека текстур - накладываются текстуры друг на друга01.02.2016, 16:33. Показов 1708. Ответов 6
Метки нет Все метки)
(
Текстуры накладываются друг на друга.
Какой параметр отвечает за то, чтобы разные текстуры были в разных местах? Создал библиотеку текстур (в виде класса), которая содержит массив текстур (класс). В классе текстур есть поля:
Так загружаются текстуры:
0
|
|
01.02.2016, 16:33 | |
Ответы с готовыми решениями:
6
Элементы накладываются друг на друга PictureBox накладываются друг на друга Дивы накладываются друг на друга |
01.02.2016, 17:26 | 2 |
Обычно, текстурные координаты.
GL давно понимает BGR формат. См. параметр format. Так что конвертировать не особо нужно... Если интересно, посмотрите здесь альтернативный вариант ООП-текстур для Delphi ![]() Добавлено через 2 минуты И да gluBuild2DMipmaps вроде только для текстур с разрешением = 2^n
1
|
4 / 4 / 3
Регистрация: 15.12.2012
Сообщений: 192
|
||||||
01.02.2016, 17:57 [ТС] | 3 | |||||
Спасибо за информацию. Но насчет разных мест - я имел в виду, как загрузить сначала, а потом выбрать из загруженных нужный параметр, чтобы наложить разные текстуры на разные объекты. Т.е. должен быть где-то порядковый номер.
В своем коде по идее я только передаю текстуре параметры о величине и формате. А потом вызываю текстуру, чтобы наложить) TexPointer: GLuint; - поле объекта Texture[index].
Добавлено через 16 минут И еще. Посмотрел твою программу TTexture2D - этот класс откуда и что из себя представляет?
0
|
01.02.2016, 18:27 | 4 | |||||||||||||||
homelleon, glGenTextures не нужно вызывать каждый кадр. Эта ф-ия возвращает n уникальных имён (ID) новых текстур.
У меня как раз в конструкторе TTexture он вызывается.(Это не самое лучшее решение, но для мелких программ удобно) Идея в том что в инициализации мы загружаем текстуру 1 раз
1
|
4 / 4 / 3
Регистрация: 15.12.2012
Сообщений: 192
|
||||||
01.02.2016, 19:55 [ТС] | 5 | |||||
А, я не знал, что не надо ее каждый раз запускать.
glGenTextures(n, TX): n - Это количество текстур с именем TX? А если так записать, то TX будут считаться разными?
0
|
02.02.2016, 00:17 | 6 | ||||||||||||||||||||
нет. TX должен быть указателем на массив из n элементов. Таким образом можно за один вызов glGenTextures получить n новых текстур(id)
1
|
4 / 4 / 3
Регистрация: 15.12.2012
Сообщений: 192
|
|||||||||||||||||||||
09.02.2016, 10:18 [ТС] | 7 | ||||||||||||||||||||
Не выходит загрузить разные текстуры. Накладываются последняя загруженная текстура. Не знаю в чем дело.
У каждого объекта есть индекс текстуры. При отрисовки у меня происходит вот это:
SetTexture('ДеревоЯщик1'); ищет в библиотеке текстуру с заданным именем и присваивает объекту индекс текстур, равный индексу элемента массива класса TTexture, являющимся полем библиотеки текстур (по сути библиотека работает как список). Добавлено через 1 минуту
На всякий случай:
0
|
09.02.2016, 10:18 | |
Помогаю со студенческими работами здесь
7
Папки накладываются друг на друга Блоки накладываются друг на друга Блоки накладываются друг на друга Кнопки накладываются друг на друга Накладываются копии звука друг на друга
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |