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

Вниз

Рендер в текстуру получается кривой!   Найти похожие ветки 

 
Кефир87 ©   (2005-11-18 01:27) [0]

Решил вот сделать motion blur. Все показалось довольно простым. Устанавливаю glViewport(0, 0, 512, 512);,  рисую сцену, glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, 512, 512, 0);, glViewport(0, 0, 800, 600); (например), опять рисую сцену, теперь glLoadIdentity для двух матриц и с альфаблендингом пытаюсь нарисовать квад с той текстурой в которую рисовал типа как:

 glBegin(GL_QUADS);
   glTexCoord2f(0, 0); glVertex2f(-1, -1);
   glTexCoord2f(1, 0); glVertex2f(1, -1);
   glTexCoord2f(1, 1); glVertex2f(1, 1);
   glTexCoord2f(0, 1); glVertex2f(-1, 1);
 glEnd;

Но в этот момент оказывается что текстура какая-то кривая получилась! То-ли растянутая, толи сдвинутая, толи и то и то... Если вместо glViewport(0, 0, 800, 600) сделать glViewport(0, 0, 512, 512) то все отлично получается, но только в этой области... Я чего-то не понимаю. Как текстуру ровной сделать?! Чтоб на весь экран развернуть не зависимо от разрешения. А еще в полноэкранном режиме все как-то мерцает! 8)


 
XProger ©   (2005-11-18 01:33) [1]

Сделать текстуру размером с область вывода


 
Darthman ©   (2005-11-18 10:34) [2]

Либо ты делаешь что-то очень монструозное, раз столько тем наоткрывал, либо окончательно отупел :)

Вьюпорт задай как glViewport(0, 0, 512, 512) для текстуры размером 512х512.
Почему мерцает смотри свой код.  

что значит " все отлично получается, но только в этой области" ?
Ты мой state of the art видел? там все во всей области отлично. ты после задания вьюпорта чай не забываешь параметры перспективы поменять? ;)


 
Кефир87 ©   (2005-11-18 18:30) [3]


> Сделать текстуру размером с область вывода

Либо glTexImage2D отказывается делать текстуру с размером не кратным 2 либо glCopyTexImage2D не хочет такое копировать...

> делаешь что-то очень монструозное

Ну так. Двиг делаю для собственного развития 8)

> либо окончательно отупел

Скорей это 8)

> Вьюпорт задай как glViewport(0, 0, 512, 512) для текстуры
> размером 512х512.

Я так и делаю 8)

> ты после задания вьюпорта чай не забываешь параметры перспективы
> поменять?

Ну не знаю. Пытался после 512х512 делать перспективу с отношением 1/1 а потом обратно 4/3... не особо помогло... А так я просто два раза смотрю через одну и ту-же камеру 8)


 
XProger ©   (2005-11-18 19:40) [4]

Какая нафиг перспектива? Учите матчасть! Viewport это Viewport с перспективой он никак не связан! Aspect не трогай вообще!



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

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1150798007
syte_ser78
2006-06-20 14:06
2006.07.23
Данте Алигери - Божественная комедия


2-1151919786
МишаК
2006-07-03 13:43
2006.07.23
графика в делфи


15-1150035977
parovoZZ
2006-06-11 18:26
2006.07.23
Скрыть от трассировки юниты


2-1151833057
Zaza
2006-07-02 13:37
2006.07.23
listbox.itemindex


2-1151820212
Gizza
2006-07-02 10:03
2006.07.23
Перемещение строк в StringGrid