This repository includes various projects that will help you understand the basic concepts of computer graphics such as transformations, animations, texturing, model-view matrix and more.
We will be using WebGL graphics pipeline to create these programs. An overview of the pipeline is shown below:
The lib folder must be included in the root folder as it contains the necessary libraries needed for all programs to work. Include that in the parent directory where all the individual programs are placed.
This program tell us the basics of the WebGL pipeline such as passing values to the vertex and fragment shaders and handling mouse events.
Single Dot | Multiple Dots |
---|---|
This program tells us the basics of passing colors to fragments that make up a particular shape.
This program covers the basics of using the model-view matrix and basic transformations (such as translation, rotation)
This program tells us how to use the model-view matrix stack in order to perform multiple transformation operations at once.
This program tell us how to move the direction of the camera and view moving objects from different angles.
Standard View Point (Viewing Out of Screeen) | Moving Out of Screen |
Moving Along X-axis | Moving Along Y-axis |
This program tells us how to implement parallel projection for two objects that are at different distances from the camera. The concept of perceiving depth is explained here.
Standard View Point | Shift in X and Y |
Shift in X and Z | Shift in Y and Z |
This program tells us how to introduce lights in our 3D scene and how to manipulate them with changing environments. You can control the camera in this program using the arrow keys.
Default View | Effect of Changing Light Conditions on all 3 cubes |