用户登录
用户注册

分享至

opengl 流程

  • 作者: T当我的秀发拂过你的钢枪
  • 来源: 51数据库
  • 2020-09-30

 实现三维金字塔的绘制


#include <windows.h>


#include <GL/glut.h>


GLfloat rtri=60.0;                      // 设置三角形的旋转角度


void myDisplay(void)



    glClear(GL_COLOR_BUFFER_BIT);


    glLoadIdentity();                   // 重置模型观察矩阵


    glScalef (0.25, 0.25, 0.25);            // 设置金字塔的缩放大小


    glRotatef(rtri,-0.25f,1.0f,0.0f); // 金字塔绕Y轴旋转1.0倍rtri,绕X轴旋


//转-0.25倍rtri


    glBegin(GL_TRIANGLES);      // 开始绘制金字塔的各个面


      glColor3f(1.0f,0.0f,0.0f);            // 红色


      glVertex3f( 0.0f, 1.0f, 0.0f);        // 三角形的上顶点(前侧面)


      glColor3f(0.0f,1.0f,0.0f);            // 绿色


      glVertex3f(-1.0f,-1.0f, 1.0f);        // 三角形的左下顶点(前侧面)


      glColor3f(0.0f,0.0f,1.0f);            // 蓝色


      glVertex3f( 1.0f,-1.0f, 1.0f);        // 三角形的右下顶点(前侧面)


 


      glColor3f(1.0f,0.0f,0.0f);            // 红色


      glVertex3f( 0.0f, 1.0f, 0.0f);        // 三角形的上顶点(右侧面)


      glColor3f(0.0f,0.0f,1.0f);            // 蓝色


      glVertex3f( 1.0f,-1.0f, 1.0f);        // 三角形的左下顶点(右侧面)


      glColor3f(0.0f,1.0f,0.0f);            // 绿色


      glVertex3f( 1.0f,-1.0f, -1.0f);       // 三角形的右下顶点(右侧面)


 


      glColor3f(1.0f,0.0f,0.0f);            // 红色


      glVertex3f( 0.0f, 1.0f, 0.0f);        // 三角形的上顶点(后侧面)


      glColor3f(0.0f,1.0f,0.0f);            // 绿色


      glVertex3f( 1.0f,-1.0f, -1.0f);       // 三角形的左下顶点(后侧面)


      glColor3f(0.0f,0.0f,1.0f);            // 蓝色


      glVertex3f(-1.0f,-1.0f, -1.0f);       // 三角形的右下顶点(后侧面)


 


      glColor3f(1.0f,0.0f,0.0f);            // 红色


      glVertex3f( 0.0f, 1.0f, 0.0f);        // 三角形的上顶点(左侧面)


      glColor3f(0.0f,0.0f,1.0f);            // 蓝色


      glVertex3f(-1.0f,-1.0f,-1.0f);        // 三角形的左下顶点(左侧面)


      glColor3f(0.0f,1.0f,0.0f);            // 绿色


      glVertex3f(-1.0f,-1.0f, 1.0f);        // 三角形的右下顶点(左侧面)


    glEnd();


    rtri+=0.2f;                         // 增加三角形的旋转变量(新增)


    glFlush(); 


}


void main(int argc, char *argv[])       // 主函数,与例4.1相同


{


    glutInit(&argc, argv);


    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);


    glutInitWindowPosition(100, 100);


    glutInitWindowSize(600, 600);


    glutCreateWindow("第二个OpenGL程序");


    glutDisplayFunc(&myDisplay);


    glutMainLoop();


}






  那个。。。你是想要VC实现的,还是别的什么工具?
软件
前端设计
程序设计
Java相关