openGL+VS2010的例程--立体四面体(二维)

 

说明:通过6条线段组合,构造一个立体四面体,是最基本的二维实现。

实现代码如下:

#include <GL/glut.h> 

void init(void)
{
    glClearColor(1.0, 1.0, 1.0, 0.0);

    glMatrixMode(GL_PROJECTION);
    gluOrtho2D(0.0, 200.0, 0.0, 150.0);

}

void lineSegment(void)
{
    glClear(GL_COLOR_BUFFER_BIT);

    glColor3f(1.0, 0.0, 0.0);
    glBegin(GL_LINES);
        glVertex2i(180, 15);
        glVertex2i(10, 145);
    glEnd();

    glBegin(GL_LINES);
        glVertex2i(60, 25);
        glVertex2i(10, 145);
    glEnd();

    glBegin(GL_LINES);
        glVertex2i(60, 25);
        glVertex2i(180, 15);
    glEnd();

    glBegin(GL_LINES);
        glVertex2i(60, 25);
        glVertex2i(100, 45);
    glEnd();

    glBegin(GL_LINES);
        glVertex2i(100, 45);
        glVertex2i(180, 15);
    glEnd();

    glBegin(GL_LINES);
        glVertex2i(100, 45);
        glVertex2i(10, 145);
    glEnd();

    glFlush();
}

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);  // 初始化GLUT
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); // 修改了参数为GLUT_SINGLE (单缓冲)和GLUT_RGB(非索引)
    glutInitWindowPosition(50, 100);  // 显示窗口在屏幕的相对位置
    glutInitWindowSize(400, 300); // 设置显示窗口大小
    glutCreateWindow(argv[0]); // 创建窗口,附带标题
    
    init();
    glutDisplayFunc(lineSegment);   // 显示指定的执行函数 

    glutMainLoop(); // GLUT 状态机

    return 0; 

}

 

posted @ 2015-01-12 10:09  joyce3800  阅读(588)  评论(0编辑  收藏  举报