资源简介
请配合我的博客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
相关资源
- 安卓c语言开发SDL2+opengles
- 交互式计算机图形学 第六版 OpenGL源代
- VC++基于OpenGL模拟的一个3维空间模型
- opengl绘制汽车.cpp
- opengl实现水流效果sph
- opengl源代码,全是精华!
- OpenGL迷宫山东大学图形学实验三
- opengl的立方体消隐算法
- vc++ opengl代码爆炸
- 我见过最漂亮的CS仿真程序openGL和C+
- 广东某工业大学的openGL课程设计
- 使用OpenGL实现多个小球在密闭空间内
- 利用openGL和C++实现光线跟踪绘图的完
- OpenGl C++太阳系小行星运行系统 可切换
- vc++和OpenGL实现三维地形实时动态显示
- C++实现利用OpenGL实现三维绘图
- 太阳、地球、月亮之间的运动图Open
- MFC 单文档 实现opengl 三维旋转 缩放
- OPENGL的烟花程序(代码)
- MFC+OpenGL三维建模与动画显示
- 基于opengl粒子系统实现喷泉的模拟
- 一个基于openGL的太阳系模型,太阳地
- vc6.0+opengl纯色五角星填充
- vc6.0+opengl动态绘制五角星
- NeHe_OpenGL教程完整版 里面有地址可以
- OpenGL简单——实现立方体贴上不同纹
- MFC实现dem的读取与现实
- VC++ OpenGL三维地形漫游
- OpenGL实现三维地形实时动态显示
- VC++中Opengl实现建筑物虚拟漫游
川公网安备 51152502000135号
评论
共有 条评论