图形编程技术
分享
课程详情
课程评价
spContent=计算机中精彩的3D画面背后正是图形流水线和一行行图形程序代码的默默支持。本课程将以OpenGL图形库为对象,以图形流水线为主线来系统讲解图形开发技术。课程将把看似高深的图形概念转化为一个个直观、生动的知识点,通过大量图形、动画的演示,并结合程序实例让大家较为轻松地掌握图形原理和编程技能。
—— 课程团队
课程概述

我为什么要学习这门课?

     你想“看透”计算机三维世界背后的秘密吗?你想成为一个虚拟世界的缔造者吗?你想征服看似深奥的图形编程技术吗?你想迈步进入三维技术的殿堂,在游戏、虚拟现实、三维仿真、电影特效等行业大展宏图吗?那么,从这门课程开始吧。

 

这门课的主题是什么?

     这门课程将深入浅出地告诉你一个三维世界是如何一步步地变换、处理、并最终显示在我们的计算机屏幕上的。课程将以图形界的工业标准---OpenGL图形库为学习对象,以图形流水线为主线来系统讲解最重要的图形概念、原理、算法和OpenGL编程技能。

 

学习这门课可以获得什么?

     你的脑海中将有一条清晰的图形流水线,你对关键的图形概念将有系统理解,并具有基本的图形开发技能。这将使你跨过图形领域中最艰难的一段门槛,你将可以充满信心地入行(入三维图形之行)了。

     本课程的学习可为你今后进一步学习或从事计算机图形学、计算机辅助设计、虚拟现实、游戏设计与开发等相关行业奠定良好的技术基础并培养动手实践能力。

 

这门课有什么特色和亮点?

     图形编程学习的最大难度在于我们要学习的不仅仅是一个个图形库函数的使用方法,而是要对整条图形流水线有深刻的理解。只有理解了图形流水线,才可能真正掌握图形编程的要诀。因此,在教学内容组织上,本门课程将以图形流水线为主线来讲解OpenGL编程技术,其内容包括:变换、光照、片元处理、缓冲区、纹理以及shader编程等。

     本课程教学的最大特色在于,不仅仅是讲述具体的函数使用技巧,而是要以一个个图形概念为中心进行学习:首先理解概念,之后讲解代码;然后,再透过代码,返回去消化概念。由此将理论算法与代码进行紧密对接。课程中包含了很多演示动画和例子程序,将以最直观、易懂的方式让同学明白图形显示的相关概念和原理。


授课目标

为学生建立起完整的图形流水线构架,并围绕图形流水线,讲解大量的基础图形概念、原理及算法。同时,所有这些概念的讲授,都将结合OpenGL图形开发库的使用来进行,使学生不仅理解原理,还能掌握实际编程技能。由原理来引出编程,同时又通过编程来加深对原理的理解。

课程大纲
预备知识

掌握C或者C++编程。
最基础的,掌握C编程就可以,因为课程中用到的OpenGL例子代码都是采用了C语言形式。

证书要求

10次作业(互评):占总成绩的50%

期末考试:占总成绩的50%

最终成绩在60分及以上可以获得合格证书


参考资料

经典书籍

opengl编程指南》施瑞奈尔(DaveShreiner)等著,李军,徐波等译,机械工业出版社

OpenGL超级宝典》赖特(RichardS.Wright.Jr)等著,张琪 付飞等译,人民邮电出版社

 

网络教程:

https://www.learnopengl.com

https://ogldev.atspace.co.uk

 

相关Mooc资源:

《计算机图形学》,清华胡事民教授,来源:爱课程

《计算机图形学导论》加州大学伯克利分校 | 分类: 计算机(568),来源:学堂在线