Courses & Tutorials

Awesome OpenGL – Massive Collection of Resources

A curated list of awesome OpenGL libraries, debuggers and resources.

Contents

Articles

OpenGL articles (non-tutorials)

Books

Popular books about OpenGL

  • A Trip Down the Graphics Pipeline by Jim Blinn – 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 – It provides several examples using OpenGL and it covers several aspects at once, 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 – Rich and comprehensive resource to learn techniques and tips, covering several advanced topics of OpenGL.
  • OpenGL Programming Guide by Dave Shreiner, et al. – It does a good job covering the basics and providing clear reference of the API.
  • OpenGL Shading Language by Randi J. Rost, et al. – 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. – It covers the basic concepts of computer graphics and provides clear examples using OpenGL. Definitely, it is a must for beginners.
  • Real-Time Rendering by Tomas Akenine-Moller, Eric Haines and Naty Hoffman – It 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.

Debug

Debugging and profiling libraries

  • apitrace – Tools for tracing OpenGL, Direct3D, and other graphics APIs.
  • CodeXL – AMD’s tool suite that includes debugger, profiler and frame/shader analysis.
  • GL-SL Debugger – Tool for debugging OpenGL programs.
  • GLIntercept – OpenGL function call interceptor for Windows.
  • Intel-GPA – Intel’s OpenGL Graphics Performance Analyzer.
  • NVIDIA® Nsight™ – Development platform for graphics applications.
  • RenderDoc – RenderDoc is a stand-alone graphics debugging tool.
  • tracy – A real time remote telemetry frame profiler for games and other applications.
  • vogl – OpenGL capture and playback debugger developed by Valve.

GLSL Editors

Online GLSL Editors

  • GLSL Sandbox – Online live editor for fragment shaders.
  • GLSLbin – 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

Libraries

Useful libraries for OpenGL applications

  • assimp – 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.
  • fltk – C++ Toolkit to generate UI widgets portably. LGPLv2
  • freeGLUT – Mature library that allows to create/manage windows containing OpenGL contexts.
  • GLFW – Modern library for creating/interact windows with OpenGL contexts.
  • GLFM – Supplies an OpenGL ES context and input events for mobile devices and the web.
  • glm – Mathematics library for graphics software based on the GLSL specifications.
  • Magnum – It is a 2D/3D graphics engine for modern OpenGL.
  • MathFu – C++ math library developed primarily for games focused on simplicity and efficiency.
  • Newton – It is a cross-platform life-like physics.
  • OGLplus – Collection of libraries which implement an object-oriented facade over OpenGL.
  • SDL – Designed to provide low level access to multimedia and graphics hardware.
  • SFML – Simple interface to ease the development of games and multimedia applications.
  • SOIL – Tiny C library used primarily for uploading textures into OpenGL. (see SOIL2)
  • Pangolin – Lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.

Profile Loaders

Profile loaders for OpenGL

  • gl3w – Simple OpenGL core profile loader.
  • glad – Multi profile loader-generator based on the official specs.
  • glbindify – Command line tool to generate C bindings for OpenGL, wgl, and glX.
  • glbinding – Profile loader leveraging C++11 features to provide type safety.
  • GLEW – Mature cross-platform library to load OpenGL extensions.

References

OpenGL references

Talks

OpenGL related talks

Videos

OpenGL video tutorials

  • Jamie King – Comprehensive tutorials about modern OpenGL and Qt.
  • MakingGamesWithBen – Video tutorials (step-by-step) about OpenGL and game development.
  • SIGGRAPH – Popular conference about computer graphics.
  • TheChernoProject – Introduction to OpenGL in C++
  • thebennybox – Videos tutorials about OpenGL and game development.
  • ThinMatrix – Video tutorials about OpenGL and game development using Java.
  • sentdex – Videos tutorials about OpenGL (immediate mode) using Python.
  • Sonar Systems – Learn about the new and modern OpenGL 3.0+.

Websites

OpenGL tutorial websites

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button