Introduction to
Computer Graphics
Lab Outline (Winter 2014)


Class Instructor: Nikolay Kolev
Lab Instructor: Nova Scheidt

Room schedule for  UDML
and CL119 (for office hours)

Lab Schedule - Core Profile

These lab notes are written for OpenGL 3.2 Core Profile with accomodations for older Macs.
For notes compatible with earlier versions of OpenGL see the old Compatibility Profile notes.
Lab Week of Contents
(Subject to change by the class instructor.)
1 Jan. 13 & 14 Getting Started with Modern OpenGL
2 Jan. 20 & 21 Points, Primitives and 2D Art
3 Feb. 3 & 4 3D Transformations
4 Feb. 24 & 25 Illumination
5 Mar. 10 & 11 Texture Mapping
6 Mar. 24 & 25 3D to go: OpenGL ES 2
-- Apr. 7 & 8 Come for final lab marking.


Downloads and Instructions

Link Instructions Description
OpenGL Documentation

OpenGL.org and Khronos Group host OpenGL information.

Browse the reference pages online:

Every programmer should frequently consult the reference pages for the APIs they use. It also is sometimes helpful to refer to the specification.

Khronos, the organization that oversees several cross-platform libraries including OpenGL, hosts or provides links to man pages and specifications for OpenGL, OpenGL ES and WebGL.

Textbook materials Get the C++ code and shaders for the example you want to try, put them in the source code directory of the appropriate tester below, and add the cpp file to the project's files.

The code on the Textbook site is a bit hard to get set up correctly. I have done the work for you and provided template projects for you to use. These templates include all needed libraries inside the project folders.

Often, we learn more by doing things for ourselves. If you want to skip the provided templates and work directly with Dr. Angel's code then take my advice: DO NOT DOWNLOAD CODE.ZIP unless it is dated 2012 or later. The original version has too many bugs. Instead, only download the example's .cpp and shader files for your platform from the file tree on his webpage and use them in the correct project type as directed for your platform on the main textbook materials page.

GLUT GLUT, The OpenGL Utility Toolkit, allows for rapid construction of event driven OpenGL based projects with support for timers and sophisticated input devices. It includes routines for rendering simple fonts and for producing a simple popup menu.


Use GLEW to get access to the latest OpenGL features on a computer.

Most operating systems come with some basic OpenGL programming support in the form of default or software renderers and programming headers. The basic OpenGL versions for various OSes are:

Windows and Linux users may find that the latest drivers for their graphics card support newer versions of OpenGL than those listed above.

Apple usually provides access to all features and extensions to the profile requested. However, you will need it to get OpenGL 3.2 features in GLUT if they are available.


This page last modified:
Monday, 13-Feb-2017 14:37:49 CST
Accessed   Hit Counter   times.


CS Dept Home Page
CS Dept Class Files

Copyright: Department of Computer Science, University of Regina.