In this repository, you will find the in-class examples and base projects for CSCI 3090U.
- 00_BaseOpenGL_MultiPlatform - project with Makefiles for Unix/Linux, MacOS, and an Nmakefile for Windows
- 00_BaseOpenGL_VisualStudio - project as a Visual Studio solution, with all necessary libraries
- 02a_BasicOpenGL - the first in-class example, drawing a simple triangle to the screen and experimenting with basic shaders
- 03b_Parametric1 - parametrically drawing lines and circles
- 03b_Parametric2 - parametrically drawing quadratic and cubic bezier curves
- 04a_ParametricPrimitives_Sphere - parametrically generating a sphere with arbitrary resolution and exporting that data to a file
- 04b_Parametric3 - create plots of the blend functions for other types of cubic splines
- 06a_2DTransform - a demonstration of 2D transformations
- 07a_Projection - a demonstration of projections
- 08a_3DTransform - a demonstration of 3D transformations and projections
- 09b_Shading_2D - demonstration of barycentric interpolation across a triangle
- 09b_Shading_3D - demonstration of the Phong shading model
- 10b_TextureMapping - demonstration of simple 2D image-based texture mapping (diffuse colour texture)
- 11a_TextureMapping_Procedural2D - demonstrations of perlin noise
- 11a_TextureMapping_Procedural3D - demonstration of using perlin noise in a shader as a texture source
- 11b_TextureMapping_NormalMapping - demonstration of using a normal map texture, along with a diffuse colour texture
- 11b_TectureMapping_SkyBox_QuaternionTrackball - demonstration of skybox rendering, reflecting/refraction mapping, and the use of trackball rotation, implemented using quaternions
- 12b_RayTracing - demonstration of basic ray tracing and the Phong shading model