我必须使用 glDrawPixels 来实现光栅算法。
现在我只是想得到一个 glDrawPixels 工作但有问题的简单例子。
GLint height, width, size = 0;
GLbyte *image = NULL;
int i,j=0;
width = 512;
height = 512;
size = width*height;
image = (GLbyte*)malloc(sizeof(GLbyte)*size*3);
for(i = 0; i < size*3; i=i+width*3){
for(j = i; j < width*3; j=j+3){
image[j] = 0xFF;
image[j+1] = 0x00;
image[j+2] = 0x00;
}
}
glDrawPixels(width, height, GL_RGB, GL_BYTE, image);
free(image);
gluSwapBuffers();
以上是我试图开始工作的代码,据我了解,它应该简单地绘制一个 512x512 的红色方块。
但是我得到的是底部的一排红色,其他一切都是灰色的。