Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Наложение текстуры на 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.032 c
1-1123494602
gemini
2005-08-08 13:50
2005.08.28
О DLL


14-1123321670
cava
2005-08-06 13:47
2005.08.28
исходники


9-1114794185
Warchief
2005-04-29 21:03
2005.08.28
lightmap


14-1122904640
oldman
2005-08-01 17:57
2005.08.28
Кто нибудь боролся с Яхой?


1-1123675705
littlebat
2005-08-10 16:08
2005.08.28
массив структур в делфи