
This is the real-world project you will be able to build after the completion of this course.
In this lecture we are rendering simple red triangle, Please also download pdf with the code in the resources.
Learn to render a triangle with external colors by supplying a color buffer and vertex attributes, then pass RGB data to the fragment shader.
Store vertex positions and rgb colors together in one array, then pass colors via a vec3 attribute to the fragment shader to render a red, green, blue multicolored triangle.
Translate the triangle by modifying the x, y, and z components of its vec4 position, demonstrating how positive and negative values move it across the canvas.
Learn to draw a red rectangle in WebGL by composing two triangles from centered vertices on the canvas, using -0.5 to 0.5 coordinates, then experiment with colors.
learn to render a rectangle in webgl by using a triangle fan with four centered vertices, assign per-vertex colors, and bind color buffers alongside position buffers.
Learn to create a multicolored rectangle in WebGL by assigning rgb colors to vertices, passing colors through a varying to the fragment shader, and adjusting attributes and strides.
Move the vertex code into its own vertex code.js file, export it, and import it into main.js with type module, then run with light-server.
Learn to separate fragment code into its own file and export it as fragment code js, then import it in main.js to keep vertex and fragment code clean and modular.
This video will show you how we can apply matrices we derived from mathematics to actually rotate any object, I use triangle in this video but it can be applied to any object.
Add rotation controls for a WebGL triangle by wiring HTML buttons to JavaScript rotation patterns that rotate the triangle along the x, y, or z axes via a matrix library.
Step by step explanation on how we can construct octagon from the triangles
Octagon with different colors
Rotate multi-coloured octagon in (x,y,z) direction
Explore constructing cube coordinates for a 3d cube in WebGL using two triangles per face, with front and back z-sign changes and consistent vertex order.
Render a 3D cube in WebGL by defining x, y, z coordinates for front, back, top, bottom, left, right faces, using buffers and shaders, and applying rotation and projection.
Apply rotational transformations to a WebGL cube using x, y, and z rotation matrices to expose all sides, with a model matrix sent to the vertex shader as a uniform.
Build an interactive code cube with x, y, and z rotation controls via buttons linked to IDs on a canvas. Use JavaScript event listeners and CSS to implement rotation patterns.
Learn to translate a WebGL cube on a canvas with arrow keys, updating translation along the x and y axes for up, down, left, and right.
Apply all we have learned to a textured cube through transformations, using a model matrix for rotations and translations, with vertex and fragment shaders and WebGL texture mapping.
Students will be able to render sphere on the browser and apply the transformations using interaction from the user(eg buttons etc)
Welcome to "WebGL for Beginners: A Hands-On Guide." This course is perfect for students and professionals looking to dive into the world of WebGL and interactive 3D graphics.
As a student, I understand the challenges of learning new technologies and have made this course to be as accessible and engaging as possible. Your suggestions and encouragement are very important to us as we develop this course.
Technologies Used:
Visual Studio Code: For coding and development
JavaScript: Core programming language
HTML & CSS: For structuring and styling your projects.
Why this course?
Even though it was recorded using basic equipment, the content is highly useful and useful. Every topic will be covered practically so you can apply what you learn to real-world projects.
Your suggestions and encouragement are very important to us as we develop this course.
Join now to start your WebGL journey.
Course Focus:
Our approach in this course is hands-on from start to finish. While we won't be going through into the theoretical aspects of WebGL, I will provide supplementary materials for those who are interested in understanding the basic concepts.
I understand that as a student, you're looking to gain practical skills that you can apply directly. That's why this course is focused on giving you the hands-on experience you need to start building interactive 3D graphics for the web.