我正在使用GL_LUMINANCE和GL_UNSIGNED_BYTE的glTexSubImage2D函数来直接显示来自相机的原始灰度数据 - 而不是手动重新打包为RGB位图。
我想以更高分辨率模式运行相机,每像素12或14位。
我可以通过简单地设置GL_SHORT来实现这一点,但相机返回的数据是大端的,我的openGL实现似乎将其错误地绘制了(在x86上)。
是否有一种简单的方法告诉openGL纹理是“错误”的?我希望避免手动字节交换数据以进行显示,因为所有其他函数都期望大端数据。
我想以更高分辨率模式运行相机,每像素12或14位。
我可以通过简单地设置GL_SHORT来实现这一点,但相机返回的数据是大端的,我的openGL实现似乎将其错误地绘制了(在x86上)。
是否有一种简单的方法告诉openGL纹理是“错误”的?我希望避免手动字节交换数据以进行显示,因为所有其他函数都期望大端数据。
glPixelStorei(GL_UNPACK_SWAP_BYTES,1);
。这就是OpenGL的伟大之处,有人已经解决了它 - 你只需要知道在哪里。 - Martin Beckett