Lab for Introduction to Computer Graphics
2012 Fall
Instructors Yu-Chi Lai
Office Hour

Fri, 12:30~14:30

TA Chun-Wei Wang
Lectures
Week Content Notes Assignment

1

Introduction

[Note] 

Read it: OpenGL on MSDN

2

Programming in C++ and Visual Studio

[Note] 

B9630346_TicTacToe.zip

Reversi.exe

3

Programming with FLTK and OGRE
  • case 1: libtga + FLTK
  • case 2: Ogre + Flash
[Note] 

Compile Project 1

Project1_skeleton_fltk.zip 

Project1_skeleton_ogre.zip

4

Image Processing
  • raster graphics
  • pixel access
  • gray scale
  • dithering
  • box filter
[Note] 

Project 1

5

Image Processing

  • Array
  • Exchange between Types
  • Quant_Uniform
  • Floyd-Steinberg
  • Filter
  • NPR
[Note] 

Project 1

NPR.7z

6

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] 

Project 1, 2

7

Coordinate systems and transformations

  • Cartesian coordinate space
  • Vector
  • Matrix
  • Graphics Pipeline
  • Viewing & Transformations
[Note] 

Reversi_sample.zip

Vector3.h 

Project 2 Skeleton: Maze.zip

8

Coordinate systems and transformations

  • Recursive
  • Clipping
  • Frustum
[Note] 

Project 2

9

Intro HGE

HGE Ogre Basic (1/3)

  • App Wizard
  • Enity
  • Mesh
  • Scene Node
[Note] 

Homework 2
Project 3 Skeleton: 

Project3_sample_fltk.zip

Project3_skeleton_fltk.zip

Project3_skeleton_ogre.zip

10

Ogre Basic (2/3)

  • Camera
  • Light
  • Shadow
  • Input
  • User Interface
[Note] 

Project 3

11

Ogre Basic (3/3)

  • Materials
  • Animation
[Note] 

Project 3

12

Project3 DEMO

Project 4

13

Ogre GPU (1/2)

[Note]  [sample] 

Project 4

14

Ogre GPU (2/2)

[Note]  [sample] 

Project 4

15

CUDA

[Note]  [CUDA Note] 

Project 5

16

Project4 DEMO

Ogre Advance (1/3)

  • UI+
  • Terrain
  • Skybox
[Note] 

Project 5

17

Ogre Advance (2/3)

  • Ocean
  • Particle System
  • Ogre Example

Ogre Advance (3/3)

  • RayTracing
  • Compositor
[sample] 

Project 5

18

Project5 DEMO

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 FLTK and OGRE
    • CMake
    • lib & dll
     
  • Image processing
    • case 1: libtga + FLTK
    • case 2: Ogre + Flash
     
  • 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