OpenGL 教程 一个在线教育工具.docVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档