用openGL实现用黑白相间的棋盘图案填充多边形

#include<gl/glut.h>
#include<windows.h> 
int n=0;  
float a0=200,b0=200,a1=400,b1=200,a2=400,b2=400,a3=200,b3=400; 
int winWidth=600,winHeight=500;

void Initial(void) 
{  
    glClearColor(1.0f,1.0f,1.0f,1.0f);  
} 

void ChangeSize(int w,int h)
{  winWidth=600,winHeight=550; 
    glViewport(0,0,w,h);  
    glMatrixMode(GL_PROJECTION);  
    glLoadIdentity();   
    gluOrtho2D(0.0,winWidth,0.0,winHeight); 
} 

void Display() 
{  
    glColor3f(0.0f,0.0f,0.0f);  
    GLubyte fly[]=  
    {   0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,   
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff, 
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
        0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,  
    };
    glEnable(GL_POLYGON_STIPPLE);  
    glPolygonStipple(fly);  
    glRectf(5,5,800,800);  
    glutSwapBuffers();  
}
int main(int argc,char *argv[]) 
{  glutInit(&argc,argv);
   glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
   glutInitWindowSize(400,300);
   glutInitWindowPosition(100,100);
   glutCreateWindow("用黑白相间的棋盘图案填充多边形");
   glutDisplayFunc(Display);
   glutReshapeFunc(ChangeSize);
   Initial();
   glutMainLoop();
   return 0;
}
View Code

 参考了别人的代码,刚接触这个东西,感觉函数名真多。。。尤其是vc++6.0没有智能感知,写的真累。

posted @ 2015-04-08 19:52  Run_For_Love  阅读(1880)  评论(0编辑  收藏  举报