zoukankan      html  css  js  c++  java
  • 计算机图形学实验二

    // 图形学实验一.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
  • 相关阅读:
    关于let 和 var 的作用域问题
    ES6数组新增方法总结
    Javascript中的async await
    Promise个人笔记---【Promise的前世今生】
    KEIL, MDK 关于C99结构体变量初始化
    C89,C99: C数组&结构体&联合体快速初始化
    13. DMA
    GPIO, AFIO
    27. USART, Universal synchronous asynchronous receiver transmitter
    中断控制及basepri 与 basepri_max
  • 原文地址:https://www.cnblogs.com/acm-jing/p/4431403.html
Copyright © 2011-2022 走看看