Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

Наложение текстуры на OGL - е   Найти похожие ветки 

 
parovoZZ ©   (2005-04-14 09:37) [0]

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


 
Pa5ha   (2005-04-14 12:25) [1]

Нет. Модно просто отключить освещение ( glDisable(GL_LIGHTING) ) или:   glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); // цвет примитива не учитывается


 
parovoZZ ©   (2005-04-14 12:31) [2]

Не, имеется ввиду не нормаль, а координаты вершин. То есть я могу наложить текстуру на треугольник с рёбрами больше единицы?


 
П7   (2005-04-14 17:44) [3]

да, но тогда текстура растянется...


 
parovoZZ ©   (2005-04-14 20:39) [4]

Получается, что координаты вершин обязательно надо нормировать?


 
П7   (2005-04-14 20:42) [5]

зачем? не обязательно.

Например текстура имеет размеры 256 на 256, на квадрат, который мы выводим на экран имеет единичную длинну. При этом получаемые экранные размеры квадрата примерно равны 256 на 256. В итоге на экране у нас всё нормально... (: Сумбурно объяснил, но надеюсь врубишься...


 
XProger ©   (2005-04-14 23:03) [6]

Система координат текстуры:
0..1 - вся ширина текстуры
0..1 - вся высота текстуры

Если ставишь в параметрах GL_REPEAT то сможешь повторять текстуру на полигоне:

glBegin(GL_TRIANGLES);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(2, 0); glVertex2f(100, 0);
glTexCoord2f(2, 2); glVertex2f(100, 100);
glEnd;

Выведет полигон с текстурой повторённой 2 раза.
Поэкспериментируй и всё прочувствуй :)


 
parovoZZ ©   (2005-04-25 09:29) [7]

ИСЧо вопрос: при удалении полигона от камеры что лучше делать - вручную накладывать уменьшенную копию текстуры или же делать это программно (читай аппаратно через OGl).


 
П7   (2005-04-25 19:45) [8]

Иди читай учебник по OpenGL.


 
parovoZZ ©   (2005-04-26 08:46) [9]

В учебнике написано, что OGl сам позаботится об этом. А если с расстоянием я кол-во полигонов уменьшаю на еденицу площади, тады гуляй вася, надо всё делать вручную.


 
П7   (2005-04-26 12:09) [10]

Как-то мутно ты пишешь, я тебя практически не понима. Ты можешь свою проблему нормально сформулировать?


 
XProger ©   (2005-04-26 18:23) [11]


glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
...
gluBuild2DMipmaps(GL_TEXTURE_2D, c, Width, Height, b, GL_UNSIGNED_BYTE, Data);

Хоть в 1 млн раз уменьшай...


 
parovoZZ ©   (2005-04-26 19:42) [12]

Т. е. от того, сколько у меня текстур, производительность не меняется? Всё зависит от полигонов?


 
XProger ©   (2005-04-26 19:49) [13]

parovoZZ, зависит в некоторой степени и от качества этих самых текстур...
Текстурку 1024х1024 явно будет сложнее обработать чем 16х16 ;)


 
parovoZZ ©   (2005-04-26 19:57) [14]

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


 
XProger ©   (2005-04-26 20:46) [15]

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


 
parovoZZ ©   (2005-04-27 09:30) [16]

А зачем тода в *dds предусмотрены мипмапы?


 
XProger ©   (2005-04-28 07:17) [17]

Разве мы не об OpenGL говорим? ;)

*.dds очень гибкий формат, а это для понта ИМХО... :P


 
parovoZZ ©   (2005-05-01 18:33) [18]

Так это самое, как сохранять dds: с мипмапами или без? (Один хрен - фотошоп не генерит мипмапы почему-тА). И если у меня dds без мипмапов, то  при уменьшении текстуры при рендеринге какая интерполяция будет применяться.


 
XProger ©   (2005-05-01 19:52) [19]

Как создаются мипмап:
Имеем текстуру 256х256
Создаём для неё мипмапы, простым скалированием.
128х128 64х64 32х32 16х16 8х8 4х4 2х2 1х1
Всё.
МИПМАПЫ ГЕНЕРИРУЕТ OpenGL!!! Не парься ты... gluBuild2DMipmaps за тебя и текстуру до размера 2^n увеличит и мипматы создаст...



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.041 c
11-1106042777
Эдик
2005-01-18 13:06
2005.08.28
TKOLButton и image


4-1121234237
Volumer
2005-07-13 09:57
2005.08.28
Процесс


14-1123227092
Lexer
2005-08-05 11:31
2005.08.28
Домен (сеть компании) + рабочая группа (инет кафе)


8-1113669884
Comrade
2005-04-16 20:44
2005.08.28
Видио во весь экран


3-1121417544
erika
2005-07-15 12:52
2005.08.28
Отбор связанных таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский