OpenGL C #, загрузка текстур вверх ногами - PullRequest
0 голосов
/ 24 июля 2011

Есть ли способ загрузить изображения в openGL с перевернутыми координатами y?(Сверху вниз).Я использую классы .NET Bitmap и BitmapData и передаю BitmapData.Scan0 в OpenGL.

Перелистывание растрового изображения на ЦП с помощью .RotateFlip() слишком медленное.

Помимо переворачивания всехиз texcoords, я могу решить эту проблему в нашем движке?

Ответы [ 4 ]

2 голосов
/ 24 июля 2011

Если вы выполняете рендеринг с использованием фрагментного шейдера, вы можете интерпретировать координаты u, v любым способом.Перевернуть их с ног на голову должно быть тривиально и (почти) бесплатно.

Кроме этого, просто переверните ваши текстурные координаты.Это не должно быть трудно достичь этого.

2 голосов
/ 25 июля 2011

Вы должны иметь возможность просто изменить координаты текстуры для достижения желаемого флип.

1 голос
/ 24 июля 2011

Я думаю, что ответ - нет.OpenGl принимает указатель на изображение в качестве текстурных данных, и я никогда не видел способа заставить его перевернуть линии.

0 голосов
/ 30 января 2012

(правка: не обращать внимания, вопрос в текстуре вместо DrawPixels)

Это сработало для меня в C ++.

Q: "Как я могу заставить glDrawPixels () нарисовать изображение, перевернутое вверх ногами? "

A:" Попробуйте glPixelZoom (1.0, -1.0). Аналогично, изображение можно перевернуть слева направо с помощью glPixelZoom (). Обратите внимание, что вам может потребоваться отрегулировать положение растра, чтобы правильно расположить изображение. "

Источник: http://www.mesa3d.org/brianp/sig97/gotchas.htm

...