有没有办法在y-coords翻转的情况下将图像加载到openGL中? (上下翻转)。我正在使用.NET Bitmap和BitmapData类,并将BitmapData.Scan0传递给OpenGL。
使用.RotateFlip()
在CPU上翻转位图太慢了。
除了翻转所有的texcoords之外,我可以在我们的引擎中解决这个问题吗?
答案 0 :(得分:2)
如果使用片段着色器进行渲染,则无论如何都可以解释u,v坐标。将它们颠倒过来应该是微不足道的,而且(几乎)是免费的。
除此之外,只需翻转纹理坐标即可。实现这一点应该不难。
答案 1 :(得分:2)
您应该只需改变纹理坐标即可实现所需的翻转。
答案 2 :(得分:1)
我认为答案是肯定的。 OpenGl将指向图像的指针作为纹理数据,我从未见过告诉他翻转线条的任何方法。
答案 3 :(得分:-2)
(编辑:忽略,问题是纹理而不是DrawPixels)
这在C ++中对我有用。
问:"如何让glDrawPixels()将图像颠倒翻转?"
答:"试试glPixelZoom(1.0,-1.0)。同样,可以使用glPixelZoom()从左到右翻转图像。请注意,您可能需要调整光栅位置才能正确定位图像。"