• 第一个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);
    }

  • 相关阅读:
    Selenium+PhantomJS实现简易有道翻译爬虫
    Scrapy框架实战-妹子图爬虫
    拉勾网职位信息爬取
    Docker Compose容器编排
    Ansible进阶--playbook的使用
    etcd集群部署
    使用Dockerfile构建镜像
    Docker网络管理
    Docker数据管理
    Dubbo高性能网关--Flurry介绍
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/1971743.html
Copyright © 2020-2023  润新知