Posts RSS Comments RSS Del.icio.us Digg Technorati Blinklist Furl reddit 63 Posts and Comments till now
This wordpress theme is downloaded from wordpress themes website.

Archive for December, 2011 (2011/12)

Homework 1

Homework 1 was just to compile and run their sample project.  I opened the sln file with VS 2010, and let it convert from VS 2005 to VS 2010.  Other than that, it just compiled and ran without any effort on my part.  It just prints GL version, GL vendor, GL Renderer (my GPU), and "yes" or "no" for whether my GPU supports some specific OpenGL extensions.

cse234_001

The OpenGL version used by the code samples (and homeworks) is the one thing I’m a little worried about being out of date from then (start of 2007) to now (end of 2011). Between OpenGL 2.x and OpenGL 3.x or 4.x, OpenGL deprecated some old styles of code. Two huge examples: fixed function mode was replaced by programmable shaders, and immediate mode was replaced by retained mode with vertex buffers objects and vertex array objects (VBO’s and VBA’s).  Here’s a list of when the 6 homeworks were due (in 2007):

Homework 1 (due Wednesday February 7 at noon EST)
Homework 2 (due Monday February 19 at noon EST)
Homework 3 (due Monday February 26 at noon EST)
Homework 4 (due Monday March 12 at noon EST)
Homework 5 (due Monday April 2 at noon EST)
Homework 6 (due Monday April 16 at noon EST)

Edit 2013/09: Unfortunately they took the links down so I might skip doing these homeworks.  I am however still periodically watching these lecture videos

1. Intro: Course, GPU, Computer Grfx

1. Introduction. Course overview. What is computer graphics? GPU overview (1/31)

Harvard Extensions School, CSCI E-234 of Spring 2007.  OpenGL / GLSL, computer graphics.  Offline rendering vs. Interactive rendering, rise of GPU graphics.  App -> API -> driver -> GPU (driver sends commands to GPU).  Graphics Pipeline: App -> Cmd -> GPU, where GPU was: Geometry -> Rasterization -> Fragment -> Display.  Move from Fixed Function to Programmable Pipeline: VS -> RS -> FS (ogl FS = dx PS).  Vertex Shaders, Pixel Shaders => grfx more like Ray Tracing.  2011 updates…  dx10 added GS, dx11 added T* & CS.  Dx11 Pipeline: IA -> VS -> (HS -> TS -> DS) -> GS -> RS -> PS -> OM.  Or GPGPU such as OpenCL and DirectCompute (dx CS).  Modern API (software) has Unified Shader Model.  Modern GPU (hardware) has Unified Shader Architecture.

Topics: interactive 3d grfx, OpenGL grfx pipeline, special effects (bump maps, shadows, etc).  Ray tracing (off-line render).  Fundamentals (light, color, camera models, bezier splines, etc).  Books: OpenGL Programming Guide 4th Ed (red book) (isbn 0023548568), Computer Graphics Using OpenGL by Francis s. Hill Jr (isbn 0201604582), others suggested.  Weekly class 2 hours, weekly sections 2 hours (sadly, these weren’t on iTunes U).  Homeworks submit code C++, OpenGL, Visual Studio 2005, Windows, dx9 GPU.  Homework 1: subscribe to mailing list, send photo with interesting light properties (to discuss in lecture 2), download compile run hello world OpenGL.

Examples where computer graphics is used: movies & games (entertainment) & art, visualization & simulations, digital photography & video, Computer Aided Design (CAD), Virtual & Augmented Reality.  Some others he didn’t mention: education & training, user interfaces (3D GUI).  There’s probably plenty of other categories, or at least 3D apps that don’t fall into this narrow list of examples (what’s Google Earth – navigation?).

Harvard Intro to Computer Graphics

This section will be for my notes on CS E-234 of Spring 2007 (January 31, 2007 through May 16, 2007) – the 13 videos (~2 hours each) are from iTunes U.  My plan is to watch the lectures slowly-over-time in 45 min sessions while jogging on an elliptical.  Then take some paper notes, maybe do some extra reading, maybe write some code, and put some notes here.  This is pretty basic (fundamental) stuff, so I’m hoping to review and retain a lot of details (concepts, math, etc).

This website is mentioned in video lecture 1 ( http://courses.dce.harvard.edu/~cscie234/ ).  However, that currently (2011/12) is a newer version of the class that doesn’t match the Spring 2007 iTunes U lecture videos.  After skimming through various related websites, I eventually found the lecture slides here ( http://vcg-harvard.org/e234/#lectures ).

I didn’t find a newer version of these videos, but I don’t think the (almost) 5 year time gap is actually that bad.  Some significant things have changed…  New stages of the pipeline (Geometry Shader, Tessellation), new hardware.  The emphasis on GP-GPU (OpenCL, DirectCompute, etc) has increased.  New software tools (RenderMonkey is now kind of old / outdated) (OpenGL 3.x 4.x, DirectX 10 11)…  However, the basic fundamentals (GPU pipeline, math, physics of light, 3d algorithms, etc) aren’t much different.

In closing, I will list the 13 lecture topics (note, the last two weren’t in iTunes U):
1. Introduction. Course overview. What is computer graphics? GPU overview (1/31)
2. Illumination. What is light? The BRDF. Vectors and dot products. The Phong BRDF model (2/7)
3. Transformations I: Linear Transformations. Multiple Transformations (2/14)
4. Transformations II: Viewing & Projections. Camera models. Viewing Transformation. Projection Matrix. OpenGL Transformation Pipeline. (2/21)
5. Rasterization. The z-Buffer. Texture Mapping. Environment mapping (2/28)
6. Advanced Texturing Mapping I: Bump mapping. Coordinate vectors, basis, and frames. Tangent space (3/7)
7. Advanced Texture Mapping II: Multi-texturing. Projective texture mapping. Shadow mapping (3/14)
8. Makeup for Section 7 (projective texture mapping) (3/21)
9. Hierarchical Modeling and Animation. Hierarchical Modeling. Stick Person and Scene Graphs. Animation. Traditional Cel Animation. Keyframing. Motion Capture. Physical Simulation. Motion Synthesis (4/4)
10. Color theory. Vision and color. Optical illusion examples (4/11)
11. Ray Tracing I. Introduction to Ray Tracing. Ray generation. Ray intersections. Shadows. Reflections. Refractions. Writing a ray trace (4/18)
12. Ray Tracing II. Bounding boxes. Regular grids. BSP trees. Monte Carlo ray tracing. Photon Mapping. Radiosity (4/25)
13. Advanced Topics and Fun Stuff: 3D Face Modeling, Font Rendering, and Color Management (5/2)
14. Final class presentations (1 of 2) (5/9)
15. Final class presentations (2 of 2) (5/16)