Главная страница
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.04 c
2-1151906339
Delphi basic
2006-07-03 09:58
2006.07.23
OpenDialog - укрощение


15-1151246456
Ketmar
2006-06-25 18:40
2006.07.23
pe-cryptor.


15-1151093723
SlyHide
2006-06-24 00:15
2006.07.23
Как зделать компонент содержащий два других


15-1150835157
Axis_of_Evil
2006-06-21 00:25
2006.07.23
В остнастке "управление компьютером"


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