熟悉OpenGL的显示列表 计算机图形…

熟悉OpenGL的显示列表 <wbr>计算机图形学



代码如下:

#include<windows.h>

#include<math.h>

 

#ifdef __APPLE__

#include <GLUT/glut.h>

#else

#include <GL/glut.h>

#endif

 

#include <stdlib.h>

 

void init (void)

{

    glClearColor (1.0, 1.0, 1.0, 0.0);  // Set display-window color to white.

    glMatrixMode (GL_PROJECTION);       // Set projection parameters.

    gluOrtho2D (0.0, 200.0, 0.0, 150.0);

}

void lineSegment (void)//绘制列表的方法

{

    glClear (GL_COLOR_BUFFER_BIT);  // Clear display window.

   // glColor 3f (0.0, 0.0, 0.0);      // Set line segment color to red.

    glColor3f(0.0,0.0,0.0);

    const double TWO_PI = 6.2831853;

    GLuint regHex;

    GLdouble  theta;

    GLint x,y,k;

 

    regHex = glGenLists(1);

    glNewList(regHex,GL_COMPILE);

        glBegin(GL_POLYGON);

            for(k=0;k<6;k++){

                theta= TWO_PI*k/6.0;

                x=50+35*cos(theta);

                y=50+35*sin(theta);

                glVertex2i(x,y);

            }

        glEnd();

    glEndList();

 

    glCallList(regHex);

    glFlush();

}

int main (int argc, char** argv)

{

    glutInit (&argc, argv);                         // Initialize GLUT.

    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);   // Set display mode.

    glutInitWindowPosition (50, 100);   // Set top-left display-window position.

    glutInitWindowSize (1000, 600);      // Set display-window width and height.

    glutCreateWindow ("An Example OpenGL Program"); // Create display window.

    init ( );                            // Execute initialization procedure.

    glutDisplayFunc (lineSegment);       // Send graphics to display window.

    glutMainLoop ( );

    return 0;                 // Display everything and wait.

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值