Introduction to
Computer Graphics
Lab Outline (Winter 2015)


Class Instructor: Dr. Xue Dong Yang
Lab Instructor: Alex Clarke
Lab Information

Room schedule for  UDML
and CL119 (for office hours)

Lab Schedule

These lab notes are written for OpenGL 3.2+ Core Profile.
Lab Week of Contents
(Subject to change by the class instructor.)
1 Jan. 12 Getting Started with OpenGL
2 Jan. 19 Points, Primitives and 2D Art
3 Feb. 2 3D Transformations
4 & 5 Feb. 23 Illumination 1 & 2
6 Mar. 22 Texture Mapping
-- Apr. 5 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, give it a try. 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.

--- Textbook style program build instructions.

Here you will learn how to create projects for and build the code samples from the textbook and the lab. Instructions for downloading, installing and using the necessary libraries are included.

For details on the libraries, see the sections below.

GLUT, The OpenGL Utility Toolkit, allows for rapid construction of event driven OpenGL based projects with support for timers and sophisticated input devices. The original GLUT is too old for us to use today.

freeglut is the modern GLUT replacement. The current stable release is 2.8.1. It does most things that the original GLUT did, but it does not support drawing simple shapes or text in programs that use shaders. Version 3.0 is about to be released which adds support for this and more features. In the meantime, I provide uofrGraphics which you will see in several labs to aid in rendering spheres, toruses, boxes, and quadrilaterals.



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

Most operating systems come with some basic OpenGL programming support, but they don't always offer all of your graphics card's features. GLEW makes it easier to ask the driver to provide what you need.


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.