OpenGL Tutorials
Last Updated: Oct 19th, 2014
OpenGL is a powerful cross platform graphics API. With OpenGL, you can get hardware accelerated 2D and 3D rendering. This tutorial set was made to give beginners a head start by going through the basics of OpenGL usage.For this tutorial we'll be starting using the OpenGL 2.1 era code to get started with the basics. Then we'll transition to modern OpenGL 3.0+ shader based programs.
Make sure to check out the Frequently Asked OpenGL Tutorial Questions. If you're having trouble with vector math, check out my OpenGL Math Primer.
Table of Contents | |
---|---|
The Introduction to Introduction to OpenGL |
What we will be covering in this OpenGL Tutorial. |
Hello OpenGL |
Render your first polygon with OpenGL. |
Matrices and Coloring Polygons |
Learn to add color to your OpenGL polygons. |
The Viewport |
Learn to control rendering in your OpenGL Window using the viewport. |
Scrolling and the Matrix Stack |
Learn to scroll your scene using matrices. |
Texture Mapping and Pixel Manipulation |
Learn to take pixels and turn them into OpenGL textures. |
Loading a Texture |
Learn to load texture images using DevIL. |
Clipping Textures |
Learn to clip portions of an OpenGL texture. |
Non-Power-of-Two Textures |
Learn to render OpenGL textures of any size. |
Updating Textures |
Learn to update texture pixels. |
Color Keying and Blending |
Learn to make images transparent using blending. |
Stretching and Filters |
Learn to stretch and scale images with OpenGL. |
Rotation |
Learn to rotate images with OpenGL. |
Matrix Transformations |
Learn to transform your OpenGL texture mapped quads. |
Repeating Textures |
Learn to tile textures in OpenGL. |
Extensions and GLEW |
Learn to use extended OpenGL using GLEW. |
Vertex Arrays |
Learn to render OpenGL polygons using Vertex Arrays. |
Vertex Buffer Objects |
Learn to render a polygon using modern OpenGL vertex buffer objects. |
Textured Vertex Buffers |
Learn to render an OpenGL texture using modern VBO. |
Sprite Sheets |
Learn to use multiple images per OpenGL texture using VBO sprite sheets. |
Bitmap Fonts |
Learn to load and render an OpenGL bitmap font. |
Alpha Textures |
Learn to use 8bit alpha textures for transparency blending. |
Texture Blitting and Texture Padding |
Learn to blit one OpenGL texture onto another. |
FreeType Fonts |
Learn to render FreeType fonts using OpenGL. |
Text Alignment |
Learn to align and center OpenGL text. |
Transforming Text |
Learn to rotate and scale OpenGL text. |
The Stencil Buffer |
Learn to stencil your scene using the OpenGL stencil buffer. |
Frame Buffer Objects and Render to Texture |
Learn to render your scene to a taxture using a Frame Buffer Object (FBO). |
Antialiasing and Multisampling |
Learn to render smooth polygons in OpenGL. |
Hello GLSL |
Learn to create GLSL shader programs. |
Loading Text File Shaders |
Learn to load GLSL shaders from a text file. |
GLSL Matrices, Color, and Uniforms |
Learn to set uniform variables to give polygons color. |
GLM Matrices |
Learn to use GLM matrices with GLSL. |
Multi-Color Polygons and Attributes |
Learn to use GLSL attributes in a shader program. |
GLSL Texturing |
Learn to render a texture using OpenGL 3.0 GLSL. |
GLSL Font |
Learn to render a OpenGL Font using OpenGL 3.0 GLSL methods. |
Vertex Array Objects |
Learn to use Vertex Array Objects in this VAO Tutorial. |
Conclusion to Introduction to OpenGL |
The OpenGL Tutorial conclusion. Thanks for visiting! |
I am not claiming to know everything there is to know about programming/C++/OpenGL, but I have gained knowledge from the OpenGL projects I've worked on. These
tutorials are made to pass on the knowledge I gained to those just starting out and to make OpenGL much less intimidating to beginners. I try to keep my code and
tutorials as bug free as possible. If you find any errors please report them to me. Suggestions are also welcome.
So if you have any suggestions, comments, questions, bugs reports, typos, or anything else you want to say about the tutorials, feel free to contact me.
So if you have any suggestions, comments, questions, bugs reports, typos, or anything else you want to say about the tutorials, feel free to contact me.