GLubyte image[1024][768];
for(i=0;i<1024;i++)
  for(j=0;j<768;j++)
     if(i==5)
       image[i][j]= 255;
     else
     image[i][j]= 0;
glDrawPixels(1024,768,GL_LUMINANCE,GL_UNSIGNED_BYTE,image)
应该在屏幕第五列有条白线,为什么是在第五行有条白线?
请高人指教,谢谢!    

解决方案 »

  1.   

    你画错了,填充的顺序是先行再列GLubyte image[768][1024]; 
    for(j=0;j <768;j++)
        for(i=0;i <1024;i++) 
           if(i==5) 
               image[j][i]= 255; 
           else 
               image[j][i]= 0; 
      

  2.   

    我把双循环改成单循环,就好了。
    再请教另外一个问题:
    我想用glDrawPixels 和 glCopyPixels 来实现屏幕上图像的实时滚动。思路如下:
    首先用glDrawPixels 绘制屏幕下方0到16行的图像
    然后用glCopyPixels 复制屏幕0到(1024-16)行的数据,并在16行的位置画出。
    最后在周期函数中不停的调用glDrawPixels 和 glCopyPixels,并SwapBuffer。
    不知道为什么不可以?