zoukankan      html  css  js  c++  java
  • 第一个OPENGL例子

    #define GLUT_DISABLE_ATEXIT_HACK
    #include <Windows.h>
    #include <math.h>
    #include <gl/GL.h>
    #include <gl/GLU.h>
    #include <gl/GLAux.h>

    void init();
    void CALLBACK reshape(GLsizei w,GLsizei h);
    void CALLBACK display();
    GLfloat s,h;

    void CALLBACK display()
    {
     glClearColor(1,1,1,1);
     glClear(GL_COLOR_BUFFER_BIT);
     glLoadIdentity();
     gluLookAt(5,5,h,s,0,0,0,1,0);
     glColor3f(0,0,0);
     GLfloat RAD=0.07145;
     GLfloat x,y,z,r;
     int i,j;
     for (i=0;i<180;i+=5)
     {
      glBegin(GL_LINE_LOOP);
      r=2*sin(i*RAD);
      z=2*cos(i*RAD);
      for (j=0;j<360;j+=10)
      {
       x=r*cos(j*RAD);
       y=r*sin(j*RAD);
       glVertex3f(x,y,z);
      }
      glEnd();
     }
     for (j=0;j<360;j+=10)
     {
      glBegin(GL_LINE_LOOP);
        for (i=0;j<=180;i+=10)
        {
         r=2*sin(i*RAD);
         z=2*cos(i*RAD);
         x=2*cos(i*RAD);
         y=2*sin(i*RAD);
         glVertex3f(x,y,z);
        }
           glEnd();
     }
     glFlush();
    }

    void init()
    {
     glShadeModel(GL_FLAT);
     s=0;
     h=5;
    }

    void CALLBACK reshape(GLsizei w,GLsizei h)
    {
     glMatrixMode(GL_PROJECTION);
     glLoadIdentity();
     gluPerspective(30,1,-3,3);
     glMatrixMode(GL_MODELVIEW);
     glViewport(0,0,w,h);
    }

    void CALLBACK Left()
    {
     s+=0.1;
    }

    void CALLBACK Right()
    {
     s-=0.1;
    }

    void CALLBACK Up()
    {
     h-=0.1;
    }

    void CALLBACK Down()
    {
     h+=0.1;
    }

    void main()
    {
     auxInitDisplayMode(AUX_SINGLE|AUX_RGB);
     auxInitPosition(0,0,300,300);
     auxInitWindow(TEXT("OpenGL Demo"));
     init();
     auxKeyFunc(AUX_LEFT,Left);
     auxKeyFunc(AUX_RIGHT,Right);
     auxKeyFunc(AUX_UP,Up);
     auxKeyFunc(AUX_DOWN,Down);
     auxReshapeFunc(reshape);
     auxMainLoop(display);
    }

  • 相关阅读:
    js01
    js---18miniJquery
    js---17继承中方法属性的重写
    js---16继承
    js---16原型链
    js---15深拷贝浅拷贝 原型链
    js---14公有私有成员方法
    js---13 this call apply
    js---12对象创建方式,构造器,原型
    ESXi导出的CentOS7 ovf文件导入到workstation 无法打开GUI登录界面的问题解决方案
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/1971743.html
Copyright © 2011-2022 走看看