A curated list of awesome OpenGL libraries, debuggers and resources. Inspired by awesome-... stuff.
- [Articles] (#articles)
- [Books] (#books)
- [Debug] (#debug)
- [GLSL Editors] (#glsl-editors)
- [Libraries] (#libraries)
- [Profile Loaders] (#profile-loaders)
- [References] (#references)
- [Talks] (#talks)
- [Videos] (#videos)
- [Websites] (#websites)
OpenGL articles (non-tutorials)
- (2014) Ray tracing with OpenGL Compute Shaders by Kai Burjack - A detailed tutorial series about ray tracing using OpenGL (LWJGL).
- (2014) Things that drive me nuts about OpenGL by Rich Geldreich - A constructive (or not) criticism of GL API.
- (2011) A trip through the graphics pipeline by Fabian Giesen - A compreheensive and rich series about the D3D/OpenGL graphics pipeline.
- (2010) What is OpenGL? by Joe Groff - A brief introduction to the building blocks of OpenGL.
Popular books about OpenGL
- A Trip Down the Graphics Pipeline by Jim Blinn - A popular book that contains wealth information about the graphics pipeline, and of the best sources to learn the core concepts of Computer Graphics.
- Computer Graphics by John F. Hughes, et al. - Computer Graphics is indeed a must for anyone being involved in the design and implementation of Computer Graphics algorithms. However, this is not a OpenGL focused book, but contains valuable demonstrations of the technology.
- Interactive Computer Graphics by Edward Angel and Dave Shreiner - A very dense book, covering several aspects at once. It pro provides several examples using OpenGL, but if you are trying to learn OpenGL on your own you might not find this helpful.
- OpenGL ES 3.0 Programming Guide by Dan Ginsburg, et al. - It presents all the necessary information to use the OpenGL ES 3.0 API in a clear manner.
- OpenGL Insights by Patrick Cozzi, Christophe Riccio - A rich and comprehensive resource to learn techniques and tips, covering several advanced topics of OpenGL.
- OpenGL Programming Guide by Dave Shreiner, et al. - This book does a good job covering the basics and providing clear reference of the API.
- OpenGL Shading Language by Randi J. Rost, et al. - A very clear and well written book about Shading Language. Also, it provides several explanations of writing shaders.
- OpenGL SuperBible by Richard S. Wright, et al. - This book it cover the basic concept of computer graphics and clear examples using OpenGL. Definitely, it is a must for beginners.
- Real-Time Rendering by Tomas Akenine-Moller, Eric Haines and Naty Hoffman - This book does a good job at explaining concepts for game engine, basis for game client programming as well as the necessary knowledge for understanding DirectX and OpenGL.
Debugging and profiling libraries
- [apitrace] (http://apitrace.github.io) - Tools for tracing OpenGL, Direct3D, and other graphics APIs.
- CodeXL - AMD's OpenGL debugger and profiler. It's the most recent version of gDEBugger.
- [GL-SL Debugger] (http://glsl-debugger.github.io) - GLSL-Debugger is a tool for debugging OpenGL programs.
- [GLIntercept] (https://github.com/dtrebilco/glintercept) - An OpenGL function call interceptor for Windows.
- Intel-GPA - Intel's OpenGL Graphics Performance Analyzer.
- [NVIDIA® Nsight™] (https://developer.nvidia.com/nvidia-nsight-visual-studio-edition) - A development platform for graphics applications.
- [vogl] (https://github.com/ValveSoftware/vogl) - OpenGL capture and playback debugger developed by Valve.
Online GLSL Editors
- GLSL Sandbox - Online live editor for fragment shaders.
- GLSLbin - A fragment shader sandbox supporting glslify.
- SHDR Editor - Live GLSL shader editor, viewer and validator.
- Shader Toy - Most popular live editor for fragment shaders.
- ShaderFrog - WebGL Shader Editor and Composer
Useful libraries for OpenGL applications
- assimp - A portable library to import 3D models in a uniform manner.
- Bullet - It provides state of the art collision detection, soft body and rigid body dynamics.
- freeGLUT - A mature library that allows to create/manage windows containing OpenGL contexts.
- GLFW - A modern library for creating/interact windows with OpenGL contexts.
- glm - A mathematics library for graphics software based on the GLSL specifications.
- Magnum - Magnum is 2D/3D graphics engine for modern OpenGL.
- MathFu - A C++ math library developed primarily for games focused on simplicity and efficiency.
- Newton - Newton Dynamics is a cross-platform life-like physics.
- OGLplus - A collection of libraries which implement an object-oriented facade over OpenGL.
- SDL - A library designed to provide low level access to multimedia and graphics hardware.
- SFML - A simple interface to ease the development of games and multimedia applications.
- SOIL - A tiny C library used primarily for uploading textures into OpenGL. (see [SOIL2] (https://bitbucket.org/SpartanJ/soil2))
Profile loaders for OpenGL
- gl3w - A simple OpenGL core profile loader.
- glad - A multi profile loader-generator based on the official specs.
- glbindify - A commmand line tool to generate C bindings for OpenGL, wgl, and glX.
- glbinding - A profile loader leveraging C++11 features to provide type safety.
- GLEW - A mature cross-platform library to load OpenGL extensions.
- glLoadGen - A multi profile loader-generator written in Lua.
OpenGL references
- [docs.GL] (http://docs.gl) - docs.GL is an alternative documentation for OpenGL.
- [OpenGL API Tables] (http://web.eecs.umich.edu/~sugih/courses/eecs487/common/notes/APITables.xml) - Quick reference of API's for several OpenGL and GLSL versions.
- [OpenGL Cheat Sheet] (https://www.khronos.org/files/opengl43-quick-reference-card.pdf) - Quick reference card of OpenGL 4.3 commands and syntax.
- OpenGL Docs - Official documentation website.
- [OpenGL Wiki] (https://www.opengl.org/wiki/Main_Page) - Official OpenGL wiki.
OpenGL related talks
- Approaching Zero Driver Overhead in OpenGL - Slides - AMA Reddit by Cass Everitt, Tim Foley, John McDonald, Graham Sellers [1:15:54]
- How Modern OpenGL Can Radically Reduce Driver Overhead by Cass Everitt, John McDonald [51:13]
- [Moving Your Games to OpenGL] (https://www.youtube.com/watch?v=45O7WTc6k2Y) by Rich Geldreich, Dan Ginsburg, Peter Lohrmann, Jason Mitchell [54:45]
OpenGL video tutorials
- [CodeAcademy] (https://www.youtube.com/playlist?list=PLbLaohICnSGUx0zZ4ffxEzQvWEzxWH839) - Several tutorial videos about modern OpenGL and rendering techniques.
- [Jamie King] (https://www.youtube.com/playlist?list=PLRwVmtr-pp06qT6ckboaOhnm9FxmzHpbY) - Compreheensive tutorials about modern OpenGL and Qt.
- [MakingGamesWithBen] (https://www.youtube.com/playlist?list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW) - Video tutorials (step-by-step) about OpenGL and game development.
- [SIGGRAPH] (https://www.youtube.com/user/ACMSIGGRAPH/playlists) - Popular conference about computer graphics.
- [thebennybox] (https://www.youtube.com/user/thebennybox/playlists) - Videos tutorials about OpenGL and game development.
- [ThinMatrix] (https://www.youtube.com/user/ThinMatrix/playlists) - Video tutorials about OpenGL and game development using Java.
- [sentdex] (https://www.youtube.com/playlist?list=PLQVvvaa0QuDdfGpqjkEJSeWKGCP31__wD) - Videos tutorials about OpenGL (immediate mode) using Python.
OpenGL tutorial websites
- Learn OpenGL by Joey de Vries
- Learning Modern 3D Graphics Programming by Jason L. McKesson
- Light House 3D by Light House 3D
- Modern OpenGL by Tom Dalling
- OpenGL Examples by Norbert Nopper
- OpenGL Step by Step by Etay Meiri
- OpenGL Tutorial by Alexander Overvoorde
- OpenGL Tutorial by Anton Gerdelan
- OpenGL Tutorial by Bonder Wu
- OpenGL Tutorial by Song Ho Ahn
Similar awesome lists
- awesome - A curated list of awesome lists.
- awesome-computer-vision - A curated list of awesome computer vision resources.
- awesome-vulkan - A curated list of awesome Vulkan projects and ecosystem.
- gamedev - A awesome list about game development.
- graphics-resources - A list of graphic programming resources.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Please see CONTRIBUTING for details.