OpenGL – Quick Start

In 2003, when I wrote my first OpenGL tutorial on this site I knew it quite well.

There isn’t a “quick” start with OpenGL. After 14 years I am still learning OpenGL myself. The learning curve is steep but it’s worth pursuing and results can be amazing.

If you see a mistake or want to contribute to improving this tutorial, please submit additional information, or suggestions to my email address. You can use this contact me form to send your corrections. Become a contributor by writing OpenGL tutorials for this site and receive share of donations received.

Every 10 or so years, OpenGL undergoes significant upgrades. It takes a long time to learn OpenGL just catch up with modern standards (VBO, Vulkan.) The process expects a lot from you.

There are no short cuts, you have to understand OpenGL to get at least decently good at it. It requires trigonometry for 3D and prerequisite knowledge of 3D matrix transformations (for translating and rotating vectors). Without which you are limited to mere 3D object rendering without animation.

But you have to start somewhere, and any small beginning can start with a plan, or a vision. Why are you learning OpenGL and how will you use it? These are important questions we need to ask first.

You could copy and paste the code without understanding it. But this is not why I created this site. If you take time to learn from OpenGL tutorials here, I guarantee you will make quicker progress than you would by simply copy and pasting code from tutorials.

And that’s my goal, to help you learn quicker, so you can start focusing on making games or software that requires working with 3D geometry.

Which Language Should I Use?

Generally OpenGL is a C-based API. But which language you should use is a common question because OpenGL is also a platform-independent API. If you want to learn to program 3D games, this leaves a wide array of options available.

So, which language should you use? This primarily depends on what platform you want to write OpenGL programs on! You can even write OpenGL in JavaScript via WebGL.

OpenGL is a cross-platform standard. This means, libraries exist in multiple languages that support OpenGL on multiple platforms including Windows, Mac (OSX and iOS, including iPhone) and Android.

Windows On Windows OS you can program OpenGL in C# (C-sharp), C or C++.
OSX On OSX OpenGL is usually programmed in C, counterpart of Cocoa’s Objective-C programming language.
Linux C, C++.
Web-Browsers You can use JavaScript with WebGL to write OpenGL-like applications in browsers, with limited functionality. WebGL limits your programs to OpenGL ES for Embedded Systems, a subset of OpenGL. But WebGL 2 is around the corner, and it has a few improvements.

All OpenGL commands are still the same across all platforms. You just have to include an available OpenGL library available for a given setup. It is likely that correct OpenGL libraries are already packaged with your operating system.

Most Recent OpenGL Tutorials

Recently published on New tutorials are posted every two weeks, or at least a month or so. For more premium OpenGL tutorials, subscribe to my free OpenGL newsletter to receive even more tutorials, demos, and source code examples directly into your email inbox.

OpenGL Book: A OpenGL Tutorial Reference BookOpenGL BookA OpenGL Tutorial Reference Book

If tutorials on this site are not enough, or you simply like reading from a physical book or a digital device (Kindle, iPad, tablets, etc.) check out OpenGL Book. Written by the author of tutorials on this site.

This book is a OpenGL tutorial and a reference that guides the reader through the process of setting up and initializing OpenGL, drawing 3D primitives and creating 3D computer games.