Advanced Computer Graphics

CS05145 高级计算机图形学

时间:周五 9:45-12:10
教室:3A401

教师:黄章进


教材

E. Angel and D. Shreiner, Interactive Computer Graphics — A Top-Down Approach with Shader-Based OpenGL, 6th Edition, 2011. (教材提供的辅助函数)

中译本: 交互式计算机图形学——基于OpenGL着色器的自顶向下方法(第六版), 电子工业出版社, 2012. (教材例程)


讲义

致谢:本课程讲义是在邓建松教授讲义基础上修改而成。

 

第一章 计算机图形学概述

第二章 图形系统和模型

第三章 OpenGL编程 [例程]
第四章 几何对象与变换 [例程]
第五章 视图 [例程]
第六章 光照和明暗处理 [例程]
第七章 离散技术 [例程]
第八章 从顶点到片断
可编程着色器 (GLSL 1.20)
  1. 可编程流水线
  2. GLSL (I)
  3. GLSL (II)
  4. GLSL (III) [glsl.zip]
 
   
   
   

论文报告 列表

时间:待定

要求:

  1. 自行分组报告论文,每组不超过2人,申领论文时把组员学号和姓名一起发到老师邮箱
  2. 论文选自Siggraph 2017 (http://kesen.realtimerendering.com/sig2017.htmlACM Digital Library )共34篇,和Siggraph Asia 2017(http://kesen.realtimerendering.com/siga2017Papers.htm)共10篇(具体见论文列表),每组选择一篇感兴趣的论文报告。
  3. 为解决选择相同论文的冲突,请大家在email中提供按优先级排列的拟报告论文列表。 根据先到先得原则按发email的时间顺序来确定报告论文列表。 如果所选论文都已被认领,会告知再次提供一份拟报告论文列表。只有在所有组确定完所报告的论文后,才能更换已确定的论文。
  4. 每篇论文报告时间为10-15分钟(包括展示video),讨论2-3分钟时间。
  5. 由于每篇论文的报告时间有限,比较短,因此报告的重点在于:简单介绍作者和单位情况; 主要讲一下这篇文章在做什么(What)?为什么做这个问题(motivation-Why)?这个问题以前有些什么工作? 难点在哪里?这篇文章解决了什么样的难点或提出什么样的新方法(selling points)?局限和未来工作(limitation and future work)? 细节若太多不用展开,关键要让大家知道这篇文章的主要思想和价值所在。
  6. 请大家尽量在网上去找关于你所负责报告论文的相关资料。如各个作者的主页,项目网页。 很多作者会把论文、video、甚至将PPT放在他的主页。讲解论文时,论文中的图片、视频均播放给大家看一下。 “一图胜千言”,视频又能胜于图片。
  7. 书面报告要求采用科研论文格式(标题、摘要、关键字、正文、参考文献等)撰写, 内容可以是所报告论文的概览、同主题多篇论文的综述等。
  8. 评分:PPT口头报告 + 书面报告

实验 提交情况表

提交到助教沈清的邮箱:quanyue@mail.ustc.edu.cn

提交说明:a) 邮件标题为:学号(姓名)第n次实验;b) 提交内容:学号.rar(.zip)。

压缩包里应包含所有编译和运行程序所“必需”的文件(.h/.c/.cpp/.glsl等)和一个文本说明文件readme.txt。 readme.txt为程序的一份简略技术文档,包括程序功能、编译环境、使用说明、实现技术等。 请不要提交编译链接生成的中间文件!

  • 2017年10月27日前提交:验证OpenGL程序的编译 square
    • 要求:OpenGL+GLSL(着色器)+FreeGLUT,具体要求如下:
      1. 修改square.cpp,使得窗口标题为"学号 姓名",例如"SG15011001 张三",编译运行后截图。(9分)
      2. 在readme.txt中说明开发编译环境及显卡支持的最高OpenGL版本。(10分)
    • 提交:源代码 + 截图.jpg + readme.txt

    截图

  • 2017年12月1日前提交:交互式三维模型观察程序
    • 要求:OpenGL+GLSL(着色器)+FreeGLUT,变换要求通过着色器实现,具体要求如下:
      1. 模型显示:从给定的obj文件读入网格模型的顶点位置和颜色数据,显示在屏幕上。(7分)
      2. 模型变换:i) 上下左右方向键或WSAD键移动模型;ii)鼠标左键采用虚拟跟踪球方法旋转模型(不动点可选为质心); iii) z或Z键缩小或放大模型(把模型拉远或拉近照相机)(9分)
      3. ESC键退出程序,鼠标右键功能(可选,例如弹出式菜单用于选择模型等)。(10分)
    • 注意:目前,模型的顶点坐标值必须变换到[-1,1]中才能被完全显示。
    • 提交:源代码 + readme.txt。模型文件不用提交,只需在readme.txt中说明使用了哪个(些)文件即可。
    • 评分:技术应用
    • 网格模型:obj文件中行"v x y z"表示顶点位置(x, y, z);行" vc r g b"表示顶点颜色(r, g, b) ; 行"f v1 v2 ... vn"表示n边面的n个顶点的索引,注意索引值从1开始。(模型文件点击图片下载

    网格模型


参考书

  • OpenGL编程指南(原书第8版), 机械工业出版社, 2014.(v1.4 例程
  • OpenGL超级宝典(第5版), 人民邮电出版社, 2012.
  • J. D. Foley et al. Computer Graphics - Principles and Practice, 3nd Ed., 2013.(影印版: 计算机图形学原理及实践-C语言描述(第二版), 机械工业出版社, 2002)
  • D. Hearn and M. P. Baker. Computer Graphics with OpenGL, 4th Ed., 2010.(影印版: 计算机图形学(第四版), 电子工业出版社, 2005. 第三版有中译版)
  • D. F. Rogers, Procedural Elements for Computer Graphics, 2nd Ed., 1998. 计算机图形学的算法基础,机械工业出版社

文档

软件

教程

 

Last update : 11/24/2017