资源简介
请配合我的博客http://blog.csdn.net/m0_37876745/article/details/78232399使用
代码片段和文件信息
/**
这里使用到的是opengl 和 glut 进行编写学习的笔记,一个简单的出口
使用到的开发库有 linux (gl glu glut) windows(opengl32.lib glu32.lib glut32.lib)
实现: 绘制一个三角锥和正方体
一个关键点是init函数中的glEnable(GL_DEPTH_TEST);开启深度测试
自己关闭和打开看看效果有什么不同
*/
#include
#include
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 参数是指定旋转轴
// 这里我们设置于z轴作旋转轴
glRotatef(g_angle 0.0 0.0f 1.0f);
g_angle += 1.0f;
// 绘制三角锥
// 这里是通过绘制4个三角形来拼接起来的
glTranslatef(-1.5f 0.0f 0.0f);
//设置棱锥转的时候相当奇怪,变成了棱锥自转,立方体围绕着它公转
//glRotatef(g_angle 0.0 1.0f 0.0f);
glBegin(GL_TRIANGLES);
// 第1个三角形 前面
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);
// 第2个三角形 左面
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);
// 第3个三角形 右边
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);
// 第4个三角形 后边
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);
glEnd();
// 绘制一个正方体
glTranslatef(3.0f 0.0f 0.0f);
//glRotatef(g_angle 1.0 0.0f 0.0f);
glBegin(GL_QUADS);
// 前面
glColor3f(1.0f 0.0f 0.0f);
glVertex3f(-1.0f 1.0f 1.0f);
glVertex3f( 1.0f 1.0f 1.0f);
glVertex3f( 1.0f-1.0f 1.0f);
glVertex3f(-1.0f-1.0f 1.0f);
// 左面
glC
- 上一篇:视频火焰检测
- 下一篇:Basler工业相机SDK sample
相关资源
- Dialog下创建 MFC OpenGL子窗口
- 仿雷电游戏OpenGL源码C++版
- DDA画线算法
- 模拟卫星旋转和地球自转
- OpenGL纹理贴图源程序.rar
- 计算机图形学实验二 opengl
- OpenGL载入3ds模型并在MFC视图窗口显示
- 计算机图形学OpenGL画机器人
- openGL通过点线方式画出立方体并移动
- OPENGL 画颜色渐变六角星+旋转
- opengl头文件
- opengl五角星绘制
- OpenGL火焰
- OpenGL纹理茶壶
- OpenGL实现的三维桌球游戏模拟源代码
- openGL绘制的一个移动的2D小车,C++编写
- OPENGL分形模拟山脉
- kinect+opengl 生成并显示点云
- 基于MFC和OPENGL的五轴G代码仿真
- 雪花——OpenGL
- 编写 1 个程序绘制这些控制点生成的
- vc++ 和 openGL 做的 3D水波模拟 非常炫
- 基于openGl的画直线和三角形光栅化源
- opengl+mfc画线填充左键单击绘包围线、
- vs mfc opengl配置教程
- OpenGL实现模拟瀑布的粒子系统
- OpenGL安装包加配置 一看就懂
- 基于OPENGL的C语言大作业
- OpenGL 立体五角星 绘制
- 用opengl实现分形山
评论
共有 条评论