awesome-opengl
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
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 *
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
by
Rich Geldreich, Dan Ginsburg, Peter Lohrmann, Jason Mitchell
[54:45]
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
Similar awesome lists *
awesome - A curated
list of awesome lists. *
awesome-computer-vision
- A curated list of awesome computer vision resources. *
awesome-webgl - A
curated list of awesome WebGL libraries, resources and much more. *
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.
License
This work is licensed under a
Creative Commons Attribution 4.0 International License.
Contributing
Please see
CONTRIBUTING
for details.