码迷,mamicode.com
首页 > 其他好文 > 详细

实现用棋盘图案填充矩形

时间:2015-04-16 11:59:22      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
// 图形学实验一.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include"gl/glut.h"
static GLsizei iMode =0;
void Initial(void)
{
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
    glMatrixMode(GL_PROJECTION);
    gluOrtho2D(0.0, 200.0, 0.0, 150.0);
}


void Display(void)
{
        glClear(GL_COLOR_BUFFER_BIT);
        glColor3f(0.0f, 0.0f, 0.0f);
        if (iMode == 1)
        {
            glRectf(50.0f, 100.0f, 150.0f, 50.0f);
        }
        else if(iMode==2){
            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(50.0f, 100.0f, 150.0f, 50.0f);
        }
        glutSwapBuffers();//交换命令缓冲区
}
void ProcessMenu(int value)
{
    iMode = value;
    glutPostRedisplay();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);//使用双缓存及RGB模型
    glutInitWindowSize(400, 300);//指定窗口的大小
    glutInitWindowPosition(100, 100);//指定窗口在屏幕上的位置
    glutCreateWindow("用棋盘图形填充矩形");

    glutCreateMenu(ProcessMenu);
    glutAddMenuEntry("不填充矩形 ", 1);
    glutAddMenuEntry("填充矩形", 2);
    glutAttachMenu(GLUT_RIGHT_BUTTON);

    glutDisplayFunc(Display);
    Initial();
    glutMainLoop();//启动主GLUT时间处理循环
    return 0;
}
View Code

 

实现用棋盘图案填充矩形

标签:

原文地址:http://www.cnblogs.com/acm-jing/p/4431403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!