====== Computer Graphics 2015 ====== ===== Description ===== Image input and output devices such as cameras and displays, graphics hardware and software, input technologies and interactive techniques, typography and page layout, light and color representations, exposure and tone reproduction, image composition and imaging models, digital signal processing, sampling, aliasing and antialiasing, compression, two- and three-dimensional geometry and transformations, modeling techniques including curves and surfaces, reflection models and illumination algorithms, and basic methods of animation. Programming assignments are using C++, OpenGL, Java Script and WebGL (optional). The course is open to undergraduate students of College of Computer Science, Zhejiang University. ===== Instructor ===== [[http://www.cad.zju.edu.cn/home/zhx/ | Dr. Hongxin Zhang]] TA: Shang-Yang Wu ===== Classroom & Time ===== * Room 517, Building 11, Yu-Quan Campus, Zhejiang University * 9:50AM - 10:35AM, 10:40AM - 11:25AM, Monday * 6:30PM - 8:05PM, Thursday (experiments) ===== Schedule ===== ^ Topic ^ Date ^ Slides ^ Course note ^ ^ Introduction | 2015.09.14 | {{:00_overview.pdf|Overview }} | [[coursenote:001|lesson 01]] | | | | {{:01_introduction.pdf|What is computer graphics}} | | | --- | --- | --- | --- | ^ 2D Primitive | 2015.09.21 | {{:02_2d_primitive.pdf|2D Primitive}} | [[coursenote:002|lesson 02]] | ^ OpenGL Intro | 2015.09.28 | {{:03_opengl.pdf|OpenGL Introduction}} | [[coursenote:003|lesson 03]] | ^ Primitive Attribute | 2015.10.12 | {{:04_attribute.pdf|Primitive Attributes}} | [[coursenote:004|lesson 04]] | ^ | | [[http://www.techfak.uni-bielefeld.de/ags/wbski/lehre/digiSA/WS0607/3DVRCG/Vorlesung/13.RT3DCGVR-vertex-2-fragment.pdf|Scan Line Algorithm]] | | | --- | --- | --- | --- | ^ Math basics | 2015.10.19 | {{:05_transform_1.pdf|Math and transform}} {{:fillalgorithm.pdf|}} | [[coursenote:005|lesson 05]] | ^ Transform and view | 2015.10.26 | {{:06_transform_2.pdf|Transform 2}} {{:quatut-2.pdf|}} | [[coursenote:006|lesson 06]] | ^ View in 2D and 3D | 2015.11.02 | {{:07_view_2d.pdf|2D and 3D View}} | [[coursenote:007|lesson 07]] | ^ Hidden Surface Remove | 2015.11.09 | {{:08_hidden_surface_elimination.pdf|HSR}} | [[coursenote:008|lesson 08]] | | --- | --- | --- | --- | ^ Splines and Curves | 2015.11.23 | {{:09_curves.pdf|Spline and curves}} | [[coursenote:009|lesson 09]] | ^ Curves and Surfaces | 2015.11.30 | {{:10_surfaces.pdf| Spline and surfaces}} | [[coursenote:010|lesson 10]] | ^ Complex 3D Objects | 2015.12.07 | {{:11_complex_3d.pdf | Complex 3D}} | [[coursenote:011|lesson 11]] | | --- | --- | --- | --- | ^ Shading | 2015.12.14 | {{:12_illumination.pdf|Shading}} | [[coursenote:012|lesson 12]] | ^ Texture mapping | 2015.12.21 | {{:13_texture_mapping.pdf|Texture}} | [[http://ptgmedia.pearsoncmg.com/images/0321335732/samplechapter/openGL_ch09.pdf|Book chapter]] [[coursenote:013|lesson 13]] | ^ Global illumination | 2015.12.28 | {{:14_global_illumination.pdf|Global Illumination}} | [[coursenote:014|lesson 14]] | | --- | --- | --- | --- | ^ Review and GPU techniques | 2016.01.04 | {{:15_review.pdf |ReView}} | [[coursenote:015|lesson 15]] | ^ Final examination | | [[http://www.tairan.com/archives/5583/|A NEW OpenGL Tutorial in Chinese]] | [[http://www.pling.org.uk/cs/cgv.html|A walkthrough of computer graphics]] | ^ Course Project | 2016.01.11 | | Course Project | ===== Homework ===== * [2015-09-21] Bresenham algorithm for drawing circle ellipse (deadline: 2015-10-08) * [2015-10-19] 3D Rotation: build the solar system with OpenGL with tracing effects, real OpenGL implementation preferred. {{:homework02.pdf|}} (deadline: 2015-11-09) * [2015-11-02] Seamless stitching 4 iPhone (and/or Android Phone) screen together (deadline: 2015-11-16 2015-11-23) * [2015-12-xx] Write a report on how to design [[http://www.ferrari.cn/chinese/pages/home.aspx| Ferrari Cars]] * [2016-01-xx] Model a 3D scene about your desktop, and render it in [[http://www.povray.org/| POVRAY ]] ===== Reference Links ===== - [[http://nehe.gamedev.net/tutorial/lessons_01__05/22004/|NeHe OpenGL programming course]] - [[http://www.pling.org.uk/cs/cgv.html|A walkthrough of computer graphics]] - [[http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html|Basic theory of computer graphics]] ===== Course Project ===== * Deadline: 2016-01-21 (TBD) * Demo day: 2016-01-11 (TBD) * requirement: {{:cp2015.pdf| 计算机图形学课程大项目要求}} ===== Previous courseware ===== * [[http://give.zju.edu.cn/cgcourse/ |Computer Graphics 2010]] * [[http://www.cad.zju.edu.cn/home/zhx/CG/2011 |Computer Graphics 2011]] * [[http://www.cad.zju.edu.cn/home/zhx/CG/2012 |Computer Graphics 2012]] * [[http://www.cad.zju.edu.cn/home/zhx/CG/2013/doku.php |Computer Graphics 2013]] * [[http://www.cad.zju.edu.cn/home/zhx/CG/2014/doku.php |Computer Graphics 2014]]