Lab for Introduction to Computer Graphics
2016 Spring
Office Hour

Fri, 15:30~17:30

TA Po-An Chen
Lectures
Week Content Notes Assignment

1

Introduction

[Introduction] 


2

Programming in C++ and Visual Studio

[vs & c++]  [2D Game Engine] 

Reversi.exe

Reversi_skeleton.rar

3

Programming with QT and Image Processing

[Programming with QT]  [Image Processing-1] 

Project1 Framework.rar

Solution.rar

Project1:Image Processing

4

Image Processing

[Image Processing-2] 

NPR.rar

5

Coordinate systems and transformations

  • Project 2 - Architecture
  • OpenGL
    • GL_POINTS
    • GL_LINES
    • GL_LINE_STRIP
    • GL_LINE_LOOP
    • GL_TRIANGLES
    • GL_TRIANGLE_STRIP
    • GL_TRIANGLE_FAN
    • GL_QUADS
    • GL_QUAD_STRIP
    • GL_POLYGON
[Note] 

OpenGLTest.rar

OpenGLPrimitives.rar

6

Coordinate systems and transformations

  • Cartesian coordinate space
  • Vector
  • Matrix
  • Graphics Pipeline
  • Viewing & Transformations
  • Cross_Param
  • Build Project and Project Score
[Note] 

Vector3.h

基礎迷宮.rar

Maze.rar

fltk-1.3.0.rar

Sample Solution.rar

 

7

Coordinate systems and transformations

  • Recursive
  • Clipping
  • Frustum
[Note] 

8

  • Project3 Grading Standard
  • Something Special
  • ManualObject Review
[Project3] 

RollerCoaster.rar

9

framework overview

draw track

draw train

run train

train view

[RollerCoaster1] 

TrainExample.exe

10

load .obj model

load .3ds model

[RollerCoaster2] 

Load3DSModel.rar

LoadObjModel.rar

11

Particle

Music

Sound

[RollerCoaster3] 

12

•The OpenGL Pipeline
•Vertex and Fragment Shaders
[GPU-Shader1] 

Shader.rar

13

•打光
•水面
•波浪
•sin 波
•Height maps
•Wave equation
•Water Surface Rendering
[GPU-Shader2]  [GPU-Shader3] 
PreRequisites

C/C++, Linear Algebra

Main Textbook

None

Grading

Attendance: 70 %

Homework: 30%

Homework

Reverse

Syllabus
  • Programming in C++ and Visual Studio
    • Visual Studio
    • Writing skill
    • Tic Tac Toe
    • Reversi
     
  • Programming with OGRE
    • CMake
    • lib & dll
     
  • Image processing
    • Ogre + QT
     
  • Coordinate systems and transformations
    • vector class
     
  • 2D programming in OpenGL and Ogre
    • Pong game
     
  • 3D programming in OpenGL and Ogre
     
  • GPU programming in Ogre & CUDA