Computer Science


Burkhard's Lectures: COMPSCI 373 Semester 1, City Campus, 2018


BurkhardTitleImage.jpg

Please see Canvas for lecture notes, schedules and handouts. This web page contains only supplementary material.

This web page has been last updated on the 19th April 2018


Supplementary material for the OpenGL component of CS 373 in 2018


NOTE: All the source code below is copyrighted and free to use for non-commercial purposes. If you use it outside this lecture (e.g. for a research project) please add a note of its origin, e.g. "(c) 2018 Burkhard Wuensche, supplementary CS373 material".

Week 1 (part 1): Overview and Introduction to Graphics Research

  • Recomended reading: chapter 1 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL") and the C/C++ tutorial below.
  • Demo programs: same as for part 1 and 2 of the tutorial below


Week 1 (part 2): Introduction to OpenGL

  • Recomended reading: chapter 2 and sections 3.1 and 3.2 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")
  • Demo programs (requires installation of GLUT):


Week 2: Illumination and Shading

  • Recomended reading: Sections 8.2, 8.3 and 8.6 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")
  • Demo programs (requires installation of GLUT):


Week 5: Modelling and Rendering of 3D Objects

  • Recomended Reading: Section 5.6 and 8.4 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")
  • Demo programs (requires installation of GLUT):
    • Blender is a very popular and powerful modelling and animation tool and using it might give you a better understanding of some of the concepts taught in this lecture. You can download it from here and use these tutorials to get started.
    • Example 'Colour Cube + RGB Cube': Available as Visual Studio solution ColourCube_VS10.zip.


Week 6: Modelling with Polygon Meshes



Week 11: Ray Tracing

  • Reading: Chapter 12 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")


Week 12: Texture Mapping

  • Reading: Section 8.5 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")
  • Demo programs (requires installation of GLUT):
    • Note that the routine for loading ppm-files is very slow when executed in debug mode. Please compile in release mode.
    • Example 'Textured Brickwall': Available as Visual Studio solution TextureMapping_VS10.zip.
    • Example 'Wattie Can': Available as Visual Studio solution WattieCanTexture_VS10.zip.


Week 12: Spline Curves and Surfaces

  • Reading: Chapter 10 of the suggested textbook (Hill, F.S., "Computer Graphics using Open GL")
  • Demo programs (requires installation of GLUT):


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. Please read the tutorial "Introduction to .NET" which explains how an OpenGL project is created using MS Visual C/C++. We have two versions: Note that newer versions of .NET might have a slightly different user interface. Note that the 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 or the Tao framework 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 OpenGLExample_VS10.zip (VisualStudio 10.0).
  • 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 (VisualStudio 7.0).
    • Example for sections 2.2.3-2.2.4: Advanced types - Available as .NET solution AdvancedTypesDemoNET.zip (VisualStudio 7.0).
    • Example for section 2.3: Operators - Available as .NET solution OperatorDemoNET.zip (VisualStudio 7.0).
    • Example for section 2.5-2.6: Arrays, Pointers and Strings - Available as .NET solution ArrayAndPointerDemoNET.zip (VisualStudio 7.0).
    • Example for section 2.7: Function definition and declarations, call-by value and call-by-reference - Available as .NET solution FunctionDemoNET.zip (VisualStudio 7.0).
    • Example for section 2.7.2: Project with multiple files - Available as .NET solution MultipleFilesDemoNET.zip (VisualStudio 7.0).
    • Example for section 2.8.3: File Input/Output - Available as .NET solution FileInOutDemoNET.zip (VisualStudio 7.0).
    • Example for section 3: Project with classes - Available as .NET solution ClassDemoNET.zip (VisualStudio 7.0).

Top
Resources:

Blender

A local copy of the installer can be found here: Blender Installer v2.79 [83.8 MByte]. If you use a different system please download the required version from the blender website.

OpenGL/GLU

Top
GLUT

Top
ANSI C

Top
C++

Top
LaTeX

LaTeX is a useful tool for writing high quality scientific documents. A good introduction is given here. LaTeX comes included in most (all?) UNIX distributions and various free Windows implementations, such as TEXnicCenter, are available. There is also an excellent free online version called Overleaf.

Top


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page