Я пишу движок Android и iOS на C ++ и в настоящее время фокусируюсь на Android с помощью NDK.
Я хотел бы сделать рендеринг в область просмотра меньшего размера (скажем, 600x360) и автоматически масштабировать этона родной рез (скажем, 800x480.) В настоящее время меньший видовой экран отображается в нижнем углу моего экрана с черными областями.
Моя проблема в том, что я не знаю простого способа сделать это прозрачно с использованием NDK.На уровне API 11 есть функция GLSurfaceview.setScaleX
(и Y), которая была бы идеальной, но не существует на уровне API 9, на который я нацеливаюсь.Другим плохим решением является рендеринг в FBO и перетаскивание его на экран в качестве последнего шага.
Я рассматриваю просто историю построения матрицы масштабирования и прошу пользователя движка (на данный момент только меня) всегда умножатьвершины по этому при рисовании на экран.Это было бы похоже на использование glPushMatrix
.
Я некоторое время искал и не мог найти хорошее решение.Кто-нибудь знает, как помочь?