OpenGL实现黑白棋盘

OpenGL实现黑白棋盘

可使用的代码

#include<windows.h>
#include <windows.h>
#include <gl/glut.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;
}

不可使用的代码

#include<glut.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(1.0f,1.0f,1.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("T4");
glutDisplayFunc(Display);
glutReshapeFunc(ChangeSize);
Initial();
glutMainLoop();
return 0;
}

问题很大

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值