University home »
Faculty of Science »
Department of Computer Science »
Courses » COMPSCI 372 S2 C » Lectures »
Computer Science
Burkhard's Lectures
Burkhard's lectures: See the main course page for a lecture schedule.Lectures notes and other handouts.
This web page has been last updated on the 22nd August 2008
Lectures 1-2: Overview and Introduction to Graphics
- Reading: chapter 1 of the prescribed textbook and the tutorial below.
- Handouts:
- 372Chapter0_Overview_1up.pdf (1 slide/page) or 372Chapter0_Overview_4up.pdf (4 slides/page).
- 372Chapter1_Introduction_1up.pdf (1 slide/page) or 372Chapter1_Introduction_4up.pdf (4 slides/page).
- Demo programs: same as for part 1 and 2 of the tutorial below.
Lecture 3: Introduction to Modelling and Animation Tools
- Reading: The sections "Introduction", "The Blender 3D Interface", "Mesh Modeling" and "Curves" of the Blender tutorial.
- Handout: 372Chapter2_IntroductionToModellingAndAnimation_1up.pdf (1 slide/page) or 372Chapter2_IntroductionToModellingAndAnimation_4up.pdf (4 slides/page).
- Demo programs: Please read the blender tutorial AND USE blender to get hands-on experience! You will use the techniques described in the above mentioned sections of the tutorial for assignment 1. I also recommend doing the other parts of the tutorial since this gives you a better understanding of some of the concepts we will do later in this lecture.
- Exercises: 372Exercise1.pdf.
- Solutions: 372Exercise1_Solution.pdf.
Lectures 4-6: Introduction to C/C++
- Reading: The Introduction to C/C++ and .NET tutorial.
- Handout: 372Chapter3_IntroToC_1up.pdf (1 slide/page) or 372Chapter3_IntroToC_4up.pdf (4 slides/page).
- Demo programs: Please try out all the demo programs in the tutorial.
- Exercises: 372Exercise2.pdf.
- Solutions: 372Exercise2_Solution.pdf.
Lectures 7-8: Introduction to OpenGL
- Reading: chapter 2 and sections 3.1 and 3.2 of the prescribed textbook
- Handout: 372Chapter4_IntroductionToOpenGL_1up.pdf (1 slide/page) or 372Chapter4_IntroductionToOpenGL_4up.pdf (4 slides/page)
- Demo programs:
- Example 'House 2D': Available as .NET solution House2DNET.zip.
- Example 'GeometricPrimitives': Available as .NET solution GeometricPrimitivesNET.zip.
- Exercises: 372Exercise3.pdf
- Solutions: 372Exercise3_Solution.pdf.
Lectures 9-12: 2D Geometry and Transformations
- Reading:
- If you use the 2nd edition of the prescribed textbook: Section 3.8, sections 4.1-4.3 and sections 5.1-5.2
- If you use the 3rd edition of the prescribed textbook: Section 3.5, sections 4.1-4.3 and sections 5.1-5.2
- Handout: 372Chapter5_Geometry2D_1up.pdf (1 slide/page) or 372Chapter5_Geometry2D_4up.pdf (4 slides/page)
- Demo programs:
- Example 'ParametricCurves': Available as .NET solution ParametricCurveDemoNET.zip.
- Exercises: 372Exercise4.pdf
- Solutions: 372Exercise4Solution.pdf
Lectures 13-15: 3D Geometry and Transformations
- Reading: Rest of chapter 4 and chapter 5 of the prescribed textbook
- Handout: 372Chapter6_Geometry3D_1up.pdf (1 slide/page) or 372Chapter6_Geometry3D_4up.pdf (4 slides/page).
- Demo programs:
- Example 'House3D': Available as .NET solution House3DNET.zip.
- Example 'House3DWithTrackball': Available as .NET solution House3DWithTrackballNET.zip.
- Exercises: 372Exercise5.pdf
- Solutions: 372Exercise5Solution.pdf
Lectures 16-17: Modelling with Polygonal Meshes
- Reading: Chapter 6 of the prescribed textbook
- Handout: 372Chapter7_ModellingWithPolygonalMeshes_1up.pdf (1 slide/page) or 372Chapter7_ModellingWithPolygonalMeshes_4up.pdf (4 slides/page).
- Demo programs:
- Example 'Colour Cube + RGB Cube': Available as .NET solution ColourCubeNET.zip.
- Example 'Shaded Cylinder': Available as .NET solution ShadedCylinderNET.zip.
- Example 'Extruded Surface': Available as .NET solution ExtrudedSurfaceNET.zip.
- Example 'Parametric Surface': Available as .NET solution ParametricSurfaceNET.zip.
- Example 'Surface of Revolution': Available as .NET solution SurfaceOfRevolutionNET.zip.
- Exercises: 372Exercise6.pdf
- Solutions: 372Exercise6Solution.pdf
Lectures 18: Texture Mapping
- Reading: Section 8.5 of the prescribed textbook
- Handout: 372Chapter8_TextureMapping_1up.pdf (1 slide/page) or 372Chapter8_TextureMapping_4up.pdf (4 slides/page)
- Demo programs:
- Note that the routine for loading ppm-files is very slow when executed in debug mode. Either run the programs in release mode or rewrite routine so that it reads and copies blocks of memory.
- Example 'Textured Brickwall': Available as .NET solution TextureMappingNET.zip.
- Example 'Wattie Can': Available as .NET solution WattieCanTextureNET.zip.
- Exercises: 372Exercise7.pdf
- Solutions: 372Exercise7Solution.pdf
Online Tutorial: Introduction to MS Visual C/C++ and OpenGL
- Part 1: If you work in the lab you will use the Visual Studio IDE (.NET 3.X Framework).
Please read the tutorial IntroductionTo.NET which explains how an OpenGL project is created using MS Visual C/C++ 7.0 under .NET.
Note that the notes were written for .NET 2003 whereas the lab contains the latest .NET version. Also note that this tutorial shows only how to build C/C++ applications using OpenGL. If you you want to create an application with C# you will need CsGL which implements most of the OpenGL/GLU/GLUT syntax but is not an offical OpenGL implementation.- Example in section 1.1: Available as source file ass1a.cpp
- Example in section 1.4: Available as .NET solution OpenGLExampleNET.zip.
- Part 2: A basic introduction to C/C++.
- Example for sections 2.2.1-2.2.2: Basic types - Available as .NET solution BasicTypesDemoNET.zip.
- Example for sections 2.2.3-2.2.4: Advanced types - Available as .NET solution AdvancedTypesDemoNET.zip.
- Example for section 2.3: Operators - Available as .NET solution OperatorDemoNET.zip.
- Example for section 2.5-2.6: Arrays, Pointers and Strings - Available as .NET solution ArrayAndPointerDemoNET.zip.
- Example for section 2.7: Function definition and declarations, call-by value and call-by-reference - Available as .NET solution FunctionDemoNET.zip.
- Example for section 2.7.2: Project with multiple files - Available as .NET solution MultipleFilesDemoNET.zip.
- Example for section 2.8.3: File Input/Output - Available as .NET solution FileInOutDemoNET.zip.
- Example for section 3: Project with classes - Available as .NET solution ClassDemoNET.zip.
-
Related Programmes