Fundamentals of Computer Graphics
Spring semester, Monday, 9:50 to 12:15 am

Lecturer: Yong-Jin Liu
Department of Computer Science & Technology, Tsinghua University

Course Project

Project 1: 2D shape displaying and design

(1.1) Read data file and plot the following 2D shape
Requirement: using C++ file reading streaming operations

Further reading: slides for lecture2-part 1-raster graphics, lecture6-part 2-opengl-programming.

(1.2) Write a program to show the following figures:

Further reading: slides for lecture2-part 2-raster graphics, lecture6-part 2-opengl-programming.

 

 


Project 2: 3D shape displaying and design

(2.1) Rendering a rotating triangles


Requirement: Using OpenGL and GLUT library. Using menu to change the color of triangles; Using IdleFunction to control the animation of the triangle rotation.

Further reading: slides for lecture5-part 1-3D polygonal modeling, lecture6-part 2-opengl-programming.

(2.2) Design a 3D toy model using the EasyToy software.


The software can be downloaded from http://www.crefun.com/en/
Reading material: Yong-Jin Liu, Cui-Xia Ma, Dong-Liang Zhang. Easytoy: a plush toy design system using editable sketch curves. IEEE Computer Graphics and Applications, Vol. 31, No. 2, pp. 49-57, 2011.
More EasyToy demos can be found at http://cg.cs.tsinghua.edu.cn/people/~Yongjin/Yongjin.htm

Further reading: slides for lecture5-part 3-3D polygonal modeling.

 

 


Project 3: Realistic and non-realistic rendering of 3D mesh models


Shining

Rendering a 3D mesh model with effect of shininess, fur and outline cel-shading

Further resource:
Tutorial on OpenGL 2.0: http://duriansoftware.com/joe/An-intro-to-modern-OpenGL
How to create fur: http://www.xbdev.net/directx3dx/specialX/Fur/index.php
How to create shininess: http://zach.in.tu-clausthal.de/teaching/cg_literatur/glsl_tutorial/
How to create outline cel-shading: http://www.gamedev.net/topic/537522-cel-shading--outline/

Fur
Outline Cel-Shading

 


Project 4: Choose one of the following advanced project

 

Option 1: Fractal geometry

Further reading: slides for lecture7-part 3-transformation and fractal geometry.

Option 2: Ray tracing on GPU

Further reading:
slides for lecture8-part 1-ray tracing.pdf
slides for lecture8-part 2-ray tracing.pdf
slides for lecture8-part 3-ray tracing.pdf
slides for lecture8-part 4-ray tracing.pdf
slides for lecture8-part 5-ray tracing.pdf
slides for lecture8-part 6-ray tracing.pdf
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3

Option 3: Bezier curve modeling

Further reading: slides for lecture3-part 1-parametric-curve-surf.

Chinese firework1
Chinese firework2

Option 4: Particle-based animation

Further reading:
http://nehe.gamedev.net/article/particle_systems/15008/
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3

© 2012 @ Department of Computer Science & Technology, Tsinghua University