Главная страница
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.049 c
4-1144749116
slaga
2006-04-11 13:51
2006.07.23
Как получить Handle окна ?


3-1148030775
Некто
2006-05-19 13:26
2006.07.23
Составноей ЕК (первичный) и автоинкрементый СК (связи)


15-1150194025
Crazy manager
2006-06-13 14:20
2006.07.23
Half-Life 2: Episode One


1-1149670151
Creative_ltd
2006-06-07 12:49
2006.07.23
загрузка картинки из DLL


15-1150889662
parovoZZ
2006-06-21 15:34
2006.07.23
Программно ограничить доступ к каталогу/файлу.