最基本的opengl 问题了吧 
先把代码列出来 
include <windows.h> 
#include <gl/gl.h> 
#include <gl\glu.h> 
#include <gl\glaux.h> 
#include <math.h> 
void Init(); 
void CALLBACK Reshape(GLsizei w,GLsizei h); 
void CALLBACK Display(); void Init() 

glClearColor(0.0,0.0,0.0,1.0); 
glClear(GL_COLOR_BUFFER_BIT); } 
void CALLBACK Reshape(GLsizei w,GLsizei h) 

//窗口大小(全部可绘图区)改变的时候 
// 视见区(实际绘图区)的大小 坐标原点窗口左下角 向右 向上 
glMatrixMode(GL_MODELVIEW); 
glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); glOrtho(0,w,0,h,-550,550); glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 

void CALLBACK Display() 
{ glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 
glTranslatef(100.0f,0.0f,0.0f); 
glTranslatef(0.0f,10.0f,0.0f); 
glRotatef(45,1.0f,0.0f,0.0f);//反时针旋转 
glColor3f(1.0,0.0,0.0); 
size_t imgH=11,imgW=500; for (size_t i=0;i!=imgH;++i) 

if (i%10!=0) 

glBegin(GL_LINES); 
glColor3f(0.0f,0.0f,0.0f); 
glVertex3i(0,0,-i); 
glVertex3i(imgW,0,-i); 
glEnd(); 
glFlush(); } 
else 

glBegin(GL_LINES); 
glColor3f(1.0f,1.0f,1.0f); 
glVertex3i(0,0,-i); 
glVertex3i(imgW,0,-i); 
glEnd(); 
glFlush(); 
} } } 
void main() 

auxInitDisplayMode(AUX_RGBA |AUX_SINGLE); 
auxInitPosition(0,0,500,500);//窗口大小 相对于屏幕的坐标而言 单位:像素 向右向下 
auxInitWindow("0"); Init(); auxReshapeFunc(Reshape); 
auxMainLoop(Display); 

问题来了 注意i有两次机会进入else 子句 
为什么画出来的线只有一条白线 如果把if里面的画图语句屏蔽掉 就有两条白线了 
可是我在vc++6.0里面调试的时候 确实流程2次进入else子句 , 
那么为什么进入了两次却只画出一条白线呢?