OpenGL c#,在上下颠倒加载纹理

本文关键字:加载 纹理 上下 OpenGL | 更新日期: 2023-09-27 18:03:36

是否有一种方法可以将图像加载到openGL中并翻转y坐标?(倒)。我使用。net Bitmap和BitmapData类,并传递BitmapData。扫描到OpenGL.

使用.RotateFlip()在CPU上翻转位图太慢了。

除了翻转所有的文本,我能在我们的引擎中解决这个问题吗?

OpenGL c#,在上下颠倒加载纹理

如果你使用片段着色器渲染,你可以解释u, v坐标,无论你想要什么。把它们颠倒过来应该是微不足道的,而且(几乎)免费的。

除此之外,只需翻转纹理坐标。实现这一点应该不难。

你应该能够改变你的纹理坐标来实现所需的翻转。

我认为答案是否定的。OpenGl将指向图像的指针作为纹理数据,我从未见过任何方法告诉他翻转线条。

(编辑:无视,问题是纹理而不是DrawPixels)

这在c++中为我工作。

问:"我怎么能使glDrawPixels()绘制一个图像倒过来?"

A: "试试glPixelZoom(1.0, -1.0)。类似地,可以使用glPixelZoom()将图像从左到右翻转。请注意,您可能必须调整光栅位置以正确定位图像。"

src: http://www.mesa3d.org/brianp/sig97/gotchas.htm