Dynamic Memory, Pointers and Arrays
Introduction to Modern OpenGL
The OpenGL Shading Language API
Aims The aim of this lab is to introduce the C++ software build process, this will include.
Single file software build Using external libraries and package managers (vcpkg) Build Tools (make,cmake) Getting Started We will start this project in a new folder (here we are assuming using the windows powershell and developer console)
Aims The aim of this lab is to introduce the process of TDD and develop some simple tests.
Multi File Build and Project Setup Build Tools (cmake and make test) Using gtest and git Test Driven Design of a Simple RGBA structure Getting Started To start this project we are going to build a typical software project setup.
Aims The aim of this lab is to continue our exploration of TDD in C++ by developing an Image Class
Using GitHub Developing a Simple Image Class Writing Images with OpenImageIO Some simple Image Algorithms.
Aims The aim of this lab is to continue our exploration of TDD in C++ by developing a simulation of diffusion limited aggregation
Introduction to DLA simulations Understand C++ 11 Random number classes #include Creating Image Sequences Using Command Line Arguments Introduction to DLA Diffusion-limited aggregation (DLA) is the process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles.
Aims The aim of this lab is to develop a simple particle system and write data to various file formats. We will then visualize the data using 3rd party tools
Aims The Aim of this lab is to install NGL and try some demos programs
Introduction to NGL Building NGL Building Demo Other Operating Systems Introduction to NGL NGL is the NCCA Graphics Library which has been used for teaching programming and graphics since 2003.
Introduction OpenGL is a relative low-level 3d API which does not support object/scene management. This is usually left to the user of the API. For example, importing and exporting data to and from OpenGL must be implemented by the application programmer.
Sample Assignment Project Ideas