资源简介
opengl绘制简单场景,实现平移旋转缩放和灯光
代码片段和文件信息
/*
* 这些代码是由Jeff Molofee 与2000年写的,再次我必须感谢Fredric Echols,因为他使这些代码看起来更简洁和高效,并使他易于使用。
* 如果你发现这些代码对你有所帮助,请访问我的站点 http://nehe.gamedev.net/default.asp ,并让我知道。
*********************************************************************************************************************************
* 这份文档是由DancingWind翻译的,如果有什么错误请e-mail:zhouwei02@mails.tsinghua.edu.cn
*/
/*********************包含链接的库文件*******************************************************************************************/
#pragma comment( lib “opengl32.lib“ )
#pragma comment( lib “glu32.lib“ )
#pragma comment( lib “glut32.lib“)
#pragma comment( lib “glew32.lib“)
#pragma comment( lib “glaux.lib“)
#pragma comment( lib “vfw32.lib“ )
/********************************************************************************************************************************/
#include // Windows的头文件
#include “glew.h“ // 包含最新的gl.hglu.h库
#include “glut.h“ // 包含OpenGL实用库
#include
#define PI 3.1415926
HDC hDC=NULL; // 窗口着色描述表句柄
HGLRC hRC=NULL; // OpenGL渲染描述表句柄
HWND hWnd=NULL; // 保存我们的窗口句柄
HINSTANCE hInstance; // 保存程序的实例
bool keys[256]; // 保存键盘按键的数组
bool active=TRUE; // 窗口的活动标志,缺省为TRUE
bool fullscreen=TRUE; // 全屏标志缺省,缺省设定成全屏模式
GLfloat rquad; // 用于四边形的角度
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // WndProc的定义
GLvoid ReSizeGLScene(GLsizei width GLsizei height) // 重置OpenGL窗口大小
{
if (height==0) // 防止被零除
{
height=1; // 将Height设为1
}
glViewport(00widthheight); // 重置当前的视口
glMatrixMode(GL_PROJECTION); // 选择投影矩阵
glLoadIdentity(); // 重置投影矩阵
// 设置视口的大小
gluPerspective(45.0f(GLfloat)width/(GLfloat)height0.1f100.0f);
glMatrixMode(GL_MODELVIEW); // 选择模型观察矩阵
glLoadIdentity(); // 重置模型观察矩阵
}
int InitGL(GLvoid) // 此处开始对OpenGL进行所有设置
{
glShadeModel(GL_SMOOTH); // 启用阴影平滑
glClearColor(0.0f 0.0f 0.0f 0.5f); // 黑色背景
glClearDepth(1.0f); // 设置深度缓存
glEnable(GL_DEPTH_TEST); // 启用深度测试
glDepthFunc(GL_LEQUAL); // 所作深度测试的类型
glHint(GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST); // 告诉系统对透视进行修正
//光源设置
GLfloat mat_specular[] = { 1.0 1.0 1.0 1.0 };
GLfloat mat_shininess[] = { 50.0 };
GLfloat light_position[] = { 1.0 1.0 1.0 0.0 }; //最后一个参数为0表示该光源是directional的
// GLfloat light_position[] = { 1.0 1.0 1.0 1.0 }; //最后一个参数非0表示该光源是positional的
GLfloat light_ambient[] = { 0.5 0.5 0.5 1.0 };//环境光参数
GLfloat light_diffuse[] = { 1.0 1.0 1.0 1.0 };//漫射光
GLfloat light_specular[] = { 0.0 1.0 0.0 1.0 };//镜面光
//GLfloat Light_Model_Ambient[] = { 0.0 0.0 0.0 1.0 }; //全局环境光设为黑色
GLfloat Light_Model_Ambient[] = { 0.2 0.2 0.2 1.0 }; //默认的全局环境光
glLightModelfv( GL_LIGHT_MODEL_AMBIENT Light_Model_Ambient ); //设置全局环境光的方法
glClearColor (0.0 0.0 0.0 0.0);
glShadeModel (GL_SMOOTH);
glMaterialfv(GL_FRONT GL_SPECULAR mat_specular);
glMater
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-10-14 22:14 01_ba
文件 30801920 2014-10-14 22:14 01_ba
文件 885 2014-10-11 20:51 01_ba
文件 8704 2006-08-21 05:58 01_ba
文件 23552 2014-10-14 22:14 01_ba
文件 3393 2006-08-03 02:59 01_ba
文件 4599 2014-10-14 18:56 01_ba
文件 920 2014-10-11 20:51 01_ba
目录 0 2014-10-11 20:50 01_ba
文件 913 2006-08-21 05:57 01_ba
文件 8704 2006-08-21 05:58 01_ba
文件 18239 2014-10-14 22:02 01_ba
目录 0 2014-10-14 21:11 01_ba
文件 524800 2014-10-14 21:11 01_ba
文件 1486104 2014-10-14 21:11 01_ba
文件 57 2014-10-14 21:11 01_ba
文件 1182 2014-10-14 21:11 01_ba
文件 2493440 2014-10-14 21:11 01_ba
文件 65227 2014-10-14 21:11 01_ba
文件 514 2014-10-14 21:11 01_ba
文件 16490 2014-10-14 21:11 01_ba
文件 234 2014-10-14 21:11 01_ba
文件 192512 2006-03-04 03:19 01_ba
文件 121856 2004-08-04 08:52 01_ba
文件 169984 1998-08-18 23:25 01_ba
文件 2 2014-10-14 21:11 01_ba
文件 2 2014-10-14 21:11 01_ba
文件 2 2014-10-14 21:11 01_ba
文件 2 2014-10-14 21:11 01_ba
文件 2 2014-10-14 21:11 01_ba
文件 2 2014-10-14 21:11 01_ba
............此处省略69个文件信息
相关资源
- OpenGL读取显示obj文件并渲染
- OpenGL ES应用开发实践 指南 iOS卷pdf
- 计算机图形学OpenGL第三版.pdf
- Open GL编程指南原书第7版
- OpenGL编程指南(第8版 PDF) 中文版 高
- 计算机图形学场景漫游
- QT实现的Opencv图像处理、点云显示、演
- 交互式计算机图形学 基于OpenGL着色器
- OPENGL ES 3.0 中文版本 编程指南 原书第
- opengl台灯
- openGL电梯运动
- opengl树模型显示
- OpenGL纹理贴图.png格式图片小程序源码
- OpenGL蓝宝书5中文版+英文原版+GLTools
- OpenGL ES 3.x游戏开发 上卷 吴亚峰 源码
- OpenGL ES 3.x游戏开发上 下卷案例源程序
- 计算机图形学openGL(中英文第三版)
- OpenGL.Superbible.7th.Edition原版影印本
- nehe的OpenGL教程bcb6源码.rar
- OPENGL ES 3.0编程指南 第2版 中文版 PD
- OpenGL Programming Guide 9th Edition高清.pdf版
- OPENGL ES 3.0编程指南.pdf
- 《openGL超级宝典第四版及代码》
- OpenGL ES应用开发实践指南(IOS卷,P
- Opengl ES 3.x开发上下册以及随书源码
- OpenGL加载三维模型机器人带天空盒
- 基于分形理论的植物模拟OpenGL
- OpenGL 3D 机器人
- 图形着色器 理论与实践 第二版 Gra
- OpenGL超级宝典书第五版电子书+完整源
评论
共有 条评论