- 13
- 0
- 约9.6千字
- 约 16页
- 2018-10-09 发布于重庆
- 举报
OpenGL 教程 一个在线教育工具
武汉科技大学本科毕业论文外文翻译
本科毕业论文外文翻译
外文译文题目:
OpenGL教程 —— 一个在线教育工具
学 院:
计算机科学与技术
专 业:
计算机科学与技术(电)
学 号:
201312237035
学生姓名:
指导教师:
日 期:
二〇一七年六月
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 2
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 1
OpenGL Tutorial - An Online Education Tool
Harish Museboyina
OpenGL Tutorial - An Online Education tool, Harish Museboyina. Montana State University, 2012
OpenGL 教程 —— 一个在线教育工具
哈里斯·穆塞博伊纳
OpenGL 教程 —— 一个在线教育工具,哈里斯·穆塞博伊纳.蒙大拿州立大学,2012
1 简单光源(无材质效果)
1.1 代码举例
下面的代码是用来产生一束简单的光照,它又被投射到一个球体上。由于这是第一个光照实例,因此我们现在并不关注材质效果,这将在下一节再进行描述。
OpenGL的实现需要至少8个主要灯光从GL_LIGHT0到GL_LIGHT7。为了能在代码中使用光照,我们必须首先通过调用程序glEnable(GL_LIGHTING)来开启光照。
glLookAt()程序用来设置相机位置,我们可以使用glLightfv()来设置光照的位置。这个程序实际是用来设置光照的方向,而并不是光照的实际位置。
虽然我们好像能够将光源设置在一个位置,但它实际表现出来反而像在无限远处。
#include stdafx.h
#include GL/glut.h
static double yVal = 50.0;
void drawSphere()
{
GLUquadricObj* cyl;
GLfloat light_position[] = { 0.0, 20.0, yVal, 10.0 };
glLightfv(GL_LIGHT0, GL_POSITION, light_position); // Using
lighting (effects all the objects drawn below)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(35.0, 1.0, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(20.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
cyl = gluNewQuadric();
gluQuadricDrawStyle(cyl, GLU_FILL);
gluSphere(cyl, 2.0, 50, 100);
glFlush();
}
void display(void)
{
/* clear all pixels */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
drawSphere();
glFlush();
}
void init(void)
{
glClearColor(0.5, 0.5, 0.5, 0.0);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluLookAt(30.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}
void keyboard(unsigned char key, int x, int y)
{
switch (key){
case 27: // esc on keyboard
exit(0);
break;
case 97: // a on keyboard
yVal = yVal - 5.0;
glutPostRedisplay();
break;
}
}
int main(int argc, char** argv)
{
glutInit(argc, argv);
glutInitDisplayMode(GLUT_S
您可能关注的文档
最近下载
- 人教版小学数学四年级下册第四单元教案(教学设计).pdf VIP
- 北师社数学教育测量与评价(第2版)教学课件第一章.pptx VIP
- T∕CEC 102.1-2016 电动汽车充换电服务信息交换 第1部分:总则.docx VIP
- 中国旅游饭店业协会&石基信息:2025年中国酒店业数字化转型趋势报告.pptx VIP
- Python语言编程基础-网络编程.ppt VIP
- 材料结构表征及应用(绪论)剖析.ppt VIP
- 古籍版本学课件.ppt VIP
- Axure RP 9互联网产品原型设计PPT课件(共12章)第四章 使用元件和元件库.docx VIP
- 果酱画盘饰技艺.pptx VIP
- 古籍版本学一.ppt VIP
原创力文档

文档评论(0)