Прокрутка 2D движка на OpenGL через аппаратное обеспечение? - PullRequest
0 голосов
/ 28 февраля 2010

Я использую OpenGL в качестве нижнего конца для 2D-движка. Когда все 2D, это просто оптимизировать определенные проблемы. Например, прокрутка. Если я знаю определенный раздел экрана нужно прокрутить снизу, тогда я могу просто проклясть эту часть. Я вечером перемещаюсь более чем на 1 пиксель за раз. Без явного оборудования поддержка (думаю, старая Nintendo HW), это требует много записи пикселей. на чипе bitblt будет следующей лучшей вещью.

По сути, я смотрю, как я могу оптимизировать свои вызовы GL для использования Текстура VRAM отображается как эффективные аппаратные блики.

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

Thx

1 Ответ

0 голосов
/ 17 марта 2010

Я не понимаю, как вы обойдетесь, по крайней мере, делая полноэкранный прямоугольный рендер с текстурой в каждом кадре (когда он фактически прокручивается). Я давно не видел возможности перемещать указатель буфера кадров на видеокартах.

Тем не менее, вы можете ограничить объем сцены, необходимый для рендеринга каждого кадра. Если вы сохраняете сцену прокрутки как текстуру, вы можете привязать ее к буферу закадрового кадра и визуализировать поверх недействительной его части. Затем вы просто используете ультрафиолетовые манипуляции, чтобы сделать свой последний полноэкранный прямоугольник.

...