声明:因网易博客将关闭,移到此
/**
这里使用到的是opengl 和 glut 进行编写学习的笔记,一个简单的出口
使用到的开发库有 linux (gl glu glut) windows(opengl32.lib glu32.lib glut32.lib)
实现: 绘制一个三角锥和正方体
一个关键点是init函数中的glEnable(GL_DEPTH_TEST);开启深度测试
自己关闭和打开看看效果有什么不同
*/
#include <iostream>
#include <GL/glut.h>
using namespace std;
GLfloat g_angle = 0; // 设置旋转的角度
//===========================OpenGL 部分=========================
// 初始化opengl的一些参数
void init()
{
glEnable(GL_DEPTH_TEST);
}
//------------------------------------
// 设置刷新时间
void timer(int p)
{
glutPostRedisplay();
glutTimerFunc(20, timer, 0);
}
//-----------------------------------
// 显示我们要绘制的模型
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清理颜色缓存和深度缓存
glLoadIdentity(); // 重置矩阵
glTranslatef(0.0f, 0.0f, -6.0f);
// 设置旋转的角度,这里glRotatef 第1个参数是角度,2~4 参数是指定旋转轴
// 这里我们设置于y轴作旋转轴
glRotatef(g_angle, 0.0, 1.0f, 0.0f);
g_angle += 1.0f;
// 绘制三角锥
// 这里是通过绘制4个三角形来拼接起来的
glTransla