- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGL项目:绘制简单场景
计算机图形学报告
(项目一)
专业:计算机科学与技术
姓名:
学号:
班级:
目录
1.引言 1
1.1编写目的 1
1.2项目背景 1
2.开发结果 2
2.1开发环境 2
2.2主要功能及性能 2
2.3场景介绍 2
2.4操作介绍 2
2.5灯光介绍 2
3.总结 3
4.参考文献 3
5.代码 3
1.引言
1.1编写目的
利用OpenGL绘制一个简单的场景
– 包含球、正方形、网格数据
– 交互操作:平移、缩放、旋转
– 可以使用不同的灯光
1.2项目背景
openGL编程在计算机图形学中具有非常重要的作用,是实现计算机图形的一个重要工 具,通过openGL编程,我们能更好的学习计算机图形学,同时也能提高我们自己的实际动手能力。
2.开发结果
2.1开发环境
Windows7旗舰版
Vs2012
2.2主要功能及性能
利用OpenGL绘制一个简单的场景
– 包含球、正方形、网格数据
– 交互操作:平移、缩放、旋转
– 可以使用不同的灯光
2.3场景介绍
绘制一个简单的场景,包含球、正方形、网格数据。如图:
2.4操作介绍
利用上下左右方向键进行上下左右移动,如图:
利用home,end,pgup,insertj进行上下左右的旋转,如图:
2.5灯光介绍
包括三中灯光:环境光,漫射光,平面光
利用鼠标右键进行灯光选择:
漫射光如图:
总结
参考文献
1、OpenGL超级宝典
2、博客:vs2012中OpenGL配置
3、计算机图像学基础
5.代码
// DiffuseLight.cpp
// OpenGL SuperBible
// Demonstrates simple diffuse lighting
// Program by Richard S. Wright Jr.
#include GLTools.h // OpenGL toolkit
#include GLMatrixStack.h
#include GLFrame.h
#include GLFrustum.h
#include GLGeometryTransform.h
#include StopWatch.h
#include math.h
#ifdef __APPLE__
#include glut/glut.h
#else
#define FREEGLUT_STATIC
#include GL/glut.h
#endif
GLFrame viewFrame;
GLFrustum viewFrustum;
GLTriangleBatch sphereBatch;
//GLBatch sphereBatch;
GLMatrixStack modelViewMatrix;
GLMatrixStack projectionMatrix;
GLGeometryTransform transformPipeline;
GLShaderManager shaderManager;
GLuint ADSLightShader;
GLint locAmbient;
GLint locDiffuse;
GLint locSpecular;
GLint locLight;
GLint locMVP;
GLint locMV;
GLint locNM;
GLint lightOnOff = 0;
//points
static const float vertex_list[][3] =
{
-0.5f, -1.5f, -0.5f,
0.5f, -1.5f, -0.5f,
0.5f, -0.5f, -0.5f,
-0.5f, -0.5f, -0.5f,
-0.5f, -1.5f, 0.5f,
0.5f, -1.5f, 0.5f,
0.5f, -0.5f, 0.5f,
-0.5f, -0.5f, 0.5f,
};
//points connect
static const GLint index_list[][4] =
{
{0, 1, 2, 3},
{3, 2, 6, 7},
{4, 5, 6, 7},
{0, 1, 5, 4},
{1, 5, 6, 2},
{0, 4, 7, 3}
};
// draw cube
void DrawCube(void)
{
in
您可能关注的文档
最近下载
- 城市轨道交通设备系统通风空调系统.pptx VIP
- 二年级上册数学第六单元《表内乘法(二)》单元课时练习题附答案(全单.pdf VIP
- 化工项目设计合同参考样本.pdf VIP
- 地产专项培训--流程体系咨询--20201013(90页).docx VIP
- 2023固体矿产资源储量核实报告编写规范.docx
- 轻钢别墅建房合同范本2024年.docx
- 化工项目设计合同参考样本.docx VIP
- 2023届上海市高考各区高三年级一模考试英语试卷(共16个区,附部分答案).pdf
- YS∕T 1345.1-2020 高铋铅化学分析方法 第1部分:铅含量的测定 Na2EDTA滴定法.pdf
- 小学英语六年级上册英语试题命题说题-PPT.pptx VIP
文档评论(0)