在看opengl编程指南时,试着写了下例子,colortable.c,结果窗口中并未显示任何图像。调试了下程序,发现读入的图像的长度和宽度不正确,可能作者是在支持大端模式的机器上做的,所以就杯具了,pc上的cpu(intel 和amd)一般是小端模式。所以读入的长度和宽度自然不对,导致计算的长度为0,所以就不能正确显示图像。
// 十六进制,注意是4个字节一组。
57 02 00 00 91 01 00 00
解决办法是用16进制编辑器打开leeds.bin将前把字节中的数据改为小端模式,即低们在前,高位在后。这样就可以正常显示了。如上面代码所示。