2D Engine превъртане на OpenGL чрез хардуер?

Използвам OpenGL като долен край за 2D механизъм за подреждане. Когато всичко е 2D, е лесно да се оптимизират определени проблеми. Например превъртане. Ако знам, че определена част от екрана трябва да се превърти от дъното, тогава мога просто да мина върху тази част. Вечер се движа с повече от 1 пиксел наведнъж. Без изрична хардуерна поддръжка (помислете за стария nintendo hw), това изисква много пикселни записи. Bitblt на чип ще бъде следващото най-добро нещо.

По същество разглеждам как мога да оптимизирам моите GL извиквания, за да използвам визуализации на VRAM текстури като ефективни хардуерни удари.

Възможно ли е GL да превърта фреймбуфера, или трябва просто да се примиря с двойно буфериране и повторно изобразяване на цяла сцена за всеки кадър?

Мерси


person drudru    schedule 28.02.2010    source източник


Отговори (1)


Не виждам как ще заобиколите, най-малкото, правейки рект на цял екран с текстура на всеки кадър (когато всъщност се превърта). От известно време не съм виждал възможност за преместване на показалеца на буфера на кадрите на графичните карти.

Можете обаче да ограничите каква част от сцената трябва да изобразите всеки кадър. Ако запазите скролиращата си сцена като текстура, можете да се свържете с кадров буфер извън екрана и да изобразите върху невалидната част от него. След това просто използвате UV манипулация, за да направите финалния си правоъгълник на цял екран.

person Jose    schedule 17.03.2010