├── CONTRIBUTING.md
├── README.md
└── opengl-logo.svg
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution Guidelines
2 | Please ensure your pull request adheres to the following guidelines:
3 |
4 | * Please search previous suggestions before making a new one, as yours may be a duplicate.
5 | * Please make an individual pull request for each suggestion.
6 | * Use the following format: \[RESOURCE\]\(REPO-LINK\) - DESCRIPTION. [LICENCE] \[website\]\(WEB-LINK\)
7 | * Keep descriptions short and simple.
8 | * End all descriptions with a full stop/period.
9 | * Make sure your text editor is set to remove trailing whitespace.
10 | * Order projects alphabetically within each category.
11 | * Check your spelling and grammar.
12 | * New categories, or improvements to the existing categorisation are welcome.
13 |
14 | Thank you for your suggestions!
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # awesome-opengl [](https://github.com/sindresorhus/awesome)
2 | [](https://www.opengl.org)
3 |
4 | A curated list of awesome OpenGL libraries, debuggers and resources.
5 |
6 | ## Contents
7 |
8 | * [Articles](#articles)
9 | * [Books](#books)
10 | * [Debug](#debug)
11 | * [GLSL Editors](#glsl-editors)
12 | * [Libraries](#libraries)
13 | * [Profile Loaders](#profile-loaders)
14 | * [References](#references)
15 | * [Talks](#talks)
16 | * [Videos](#videos)
17 | * [Websites](#websites)
18 |
19 |
20 | ## Articles
21 |
22 | *OpenGL articles (non-tutorials)*
23 |
24 | * [(2014) Ray tracing with OpenGL Compute Shaders](https://github.com/LWJGL/lwjgl3-wiki/wiki/2.6.1.-Ray-tracing-with-OpenGL-Compute-Shaders-%28Part-I%29) by **Kai Burjack** - Detailed tutorial series about ray tracing using OpenGL (LWJGL).
25 | * [(2014) Things that drive me nuts about OpenGL](http://richg42.blogspot.com.au/2014/05/things-that-drive-me-nuts-about-opengl.html) by **Rich Geldreich** - Constructive (or not) criticism of GL API.
26 | * [(2011) A trip through the graphics pipeline](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index) by **Fabian Giesen** - Comprehensive and rich series about the D3D/OpenGL graphics pipeline.
27 | * [(2010) What is OpenGL?](http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html) by **Joe Groff** - Brief introduction to the building blocks of OpenGL.
28 |
29 |
30 | ## Books
31 |
32 | *Popular books about OpenGL*
33 |
34 | * [A Trip Down the Graphics Pipeline](http://www.amazon.com/dp/1558603875) 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.
35 | * [Computer Graphics](http://www.amazon.com/dp/0321399528) 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.
36 | * [Interactive Computer Graphics](http://www.amazon.com/dp/0132545233) 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.
37 | * [OpenGL ES 3.0 Programming Guide](http://www.amazon.com/dp/0321933885) by **Dan Ginsburg, et al.** - It presents all the necessary information to use the OpenGL ES 3.0 API in a clear manner.
38 | * [OpenGL Insights](http://www.amazon.com/dp/1439893764) by **Patrick Cozzi, Christophe Riccio** - Rich and comprehensive resource to learn techniques and tips, covering several advanced topics of OpenGL.
39 | * [OpenGL Programming Guide](http://www.amazon.com/dp/0321773039) by **Dave Shreiner, et al.** - It does a good job covering the basics and providing clear reference of the API.
40 | * [OpenGL Shading Language](http://www.amazon.com/dp/0321637631) by **Randi J. Rost, et al.** - Very clear and well written book about Shading Language. Also, it provides several explanations of writing shaders.
41 | * [OpenGL SuperBible](http://www.amazon.com/dp/0321712617) 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.
42 | * [Real-Time Rendering](http://www.amazon.com/dp/1568814240) 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.
43 |
44 |
45 | ## Debug
46 |
47 | *Debugging and profiling libraries*
48 |
49 | * [apitrace](http://apitrace.github.io) - Tools for tracing OpenGL, Direct3D, and other graphics APIs.
50 | * [CodeXL](https://github.com/GPUOpen-Tools/CodeXL) - AMD's tool suite that includes debugger, profiler and frame/shader analysis.
51 | * [GL-SL Debugger](http://glsl-debugger.github.io) - Tool for debugging OpenGL programs.
52 | * [GLIntercept](https://github.com/dtrebilco/glintercept) - OpenGL function call interceptor for Windows.
53 | * [Intel-GPA](https://software.intel.com/en-us/gpa) - Intel's OpenGL Graphics Performance Analyzer.
54 | * [NVIDIA® Nsight™](https://developer.nvidia.com/nvidia-nsight-visual-studio-edition) - Development platform for graphics applications.
55 | * [RenderDoc](https://github.com/baldurk/renderdoc) - RenderDoc is a stand-alone graphics debugging tool.
56 | * [tracy](https://github.com/wolfpld/tracy) - A real time remote telemetry frame profiler for games and other applications.
57 | * [vogl](https://github.com/ValveSoftware/vogl) - OpenGL capture and playback debugger developed by Valve.
58 |
59 |
60 | ## GLSL Editors
61 |
62 | *Online GLSL Editors*
63 |
64 | * [GLSL Sandbox](http://glslsandbox.com) - Online live editor for fragment shaders.
65 | * [GLSLbin](http://glslb.in) - Fragment shader sandbox supporting [glslify](https://github.com/stackgl/glslify).
66 | * [SHDR Editor](http://shdr.bkcore.com) - Live GLSL shader editor, viewer and validator.
67 | * [Shader Toy](https://www.shadertoy.com) - Most popular live editor for fragment shaders.
68 | * [ShaderFrog](http://shaderfrog.com/) - WebGL Shader Editor and Composer
69 |
70 | ## Libraries
71 |
72 | *Useful libraries for OpenGL applications*
73 |
74 | * [assimp](https://github.com/assimp/assimp) - Portable library to import 3D models in a uniform manner.
75 | * [Bullet](http://bulletphysics.org/wordpress) - It provides state of the art collision detection, soft body and rigid body dynamics.
76 | * [fltk](https://www.fltk.org/) - C++ Toolkit to generate UI widgets portably. [LGPLv2](https://www.fltk.org/COPYING.php)
77 | * [freeGLUT](http://freeglut.sourceforge.net) - Mature library that allows to create/manage windows containing OpenGL contexts.
78 | * [GLFW](http://www.glfw.org) - Modern library for creating/interact windows with OpenGL contexts.
79 | * [GLFM](https://github.com/brackeen/glfm) - Supplies an OpenGL ES context and input events for mobile devices and the web.
80 | * [glm](http://glm.g-truc.net/0.9.6/index.html) - Mathematics library for graphics software based on the GLSL specifications.
81 | * [Magnum](https://github.com/mosra/magnum) - It is a 2D/3D graphics engine for modern OpenGL.
82 | * [MathFu](http://google.github.io/mathfu/) - C++ math library developed primarily for games focused on simplicity and efficiency.
83 | * [Newton](http://newtondynamics.com/forum/newton.php) - It is a cross-platform life-like physics.
84 | * [OGLplus](http://oglplus.org) - Collection of libraries which implement an object-oriented facade over OpenGL.
85 | * [SDL](http://www.libsdl.org) - Designed to provide low level access to multimedia and graphics hardware.
86 | * [SFML](http://www.sfml-dev.org) - Simple interface to ease the development of games and multimedia applications.
87 | * [SOIL](http://www.lonesock.net/soil.html) - Tiny C library used primarily for uploading textures into OpenGL. (see [SOIL2](https://bitbucket.org/SpartanJ/soil2))
88 | * [Pangolin](https://github.com/stevenlovegrove/Pangolin) - Lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
89 | * [morphologica](https://github.com/ABRG-Models/morphologica) - OpenGL graphics engine for data visualization, especially of numerical simulations.
90 | * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming.
91 |
92 | ## Profile Loaders
93 |
94 | *Profile loaders for OpenGL*
95 |
96 | * [gl3w](https://github.com/skaslev/gl3w) - Simple OpenGL core profile loader.
97 | * [glad](https://github.com/Dav1dde/glad) - Multi profile loader-generator based on the official specs.
98 | * [glbindify](https://github.com/nnesse/glbindify) - Command line tool to generate C bindings for OpenGL, wgl, and glX.
99 | * [glbinding](https://github.com/cginternals/glbinding) - Profile loader leveraging C++11 features to provide type safety.
100 | * [GLEW](http://glew.sourceforge.net) - Mature cross-platform library to load OpenGL extensions.
101 |
102 |
103 | ## References
104 |
105 | *OpenGL references*
106 |
107 | * [docs.GL](http://docs.gl) - It is an alternative documentation for OpenGL.
108 | * [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.
109 | * [OpenGL Cheat Sheet](https://www.khronos.org/files/opengl43-quick-reference-card.pdf) - Quick reference card of OpenGL 4.3 commands and syntax.
110 | * [OpenGL Docs](https://www.opengl.org/sdk/docs) - Official documentation website.
111 | * [OpenGL Wiki](https://www.opengl.org/wiki/Main_Page) - Official OpenGL wiki.
112 |
113 |
114 | ## Talks
115 |
116 | *OpenGL related talks*
117 | * [Approaching Zero Driver Overhead in OpenGL](http://gdcvault.com/play/1020791/) - [Slides](http://www.slideshare.net/CassEveritt/approaching-zero-driver-overhead) - [AMA Reddit](https://www.reddit.com/r/gamedev/comments/21mbo8/we_are_the_authors_of_approaching_zero_driver) by **Cass Everitt, Tim Foley, John McDonald, Graham Sellers** [1:15:54]
118 | * [How Modern OpenGL Can Radically Reduce Driver Overhead](https://www.youtube.com/watch?v=-bCeNzgiJ8I) by **Cass Everitt, John McDonald** [51:13]
119 | * [Moving Your Games to OpenGL](https://www.youtube.com/watch?v=45O7WTc6k2Y) by **Rich Geldreich, Dan Ginsburg, Peter Lohrmann, Jason Mitchell** [54:45]
120 |
121 |
122 | ## Videos
123 |
124 | *OpenGL video tutorials*
125 |
126 | * [Jamie King](https://www.youtube.com/playlist?list=PLRwVmtr-pp06qT6ckboaOhnm9FxmzHpbY) - Comprehensive tutorials about modern OpenGL and Qt.
127 | * [MakingGamesWithBen](https://www.youtube.com/playlist?list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW) - Video tutorials (step-by-step) about OpenGL and game development.
128 | * [SIGGRAPH](https://www.youtube.com/user/ACMSIGGRAPH/playlists) - Popular conference about computer graphics.
129 | * [TheChernoProject](https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2) - Introduction to OpenGL in C++
130 | * [thebennybox](https://www.youtube.com/user/thebennybox/playlists) - Videos tutorials about OpenGL and game development.
131 | * [ThinMatrix](https://www.youtube.com/user/ThinMatrix/playlists) - Video tutorials about OpenGL and game development using Java.
132 | * [sentdex](https://www.youtube.com/playlist?list=PLQVvvaa0QuDdfGpqjkEJSeWKGCP31__wD) - Videos tutorials about OpenGL (immediate mode) using Python.
133 | * [Sonar Systems](https://www.youtube.com/playlist?list=PLRtjMdoYXLf6zUMDJVRZYV-6g6n62vet8) - Learn about the new and modern OpenGL 3.0+.
134 |
135 | ## Websites
136 |
137 | *OpenGL tutorial websites*
138 |
139 | * [3D Game Shaders For Beginners](https://github.com/lettier/3d-game-shaders-for-beginners) by **David Lettier**
140 | * [Learn OpenGL](https://learnopengl.com) by **Joey de Vries**
141 | * [Learning Modern 3D Graphics Programming](https://bitbucket.org/alfonse/gltut/wiki/Home) by **Jason L. McKesson**
142 | * [Light House 3D](http://www.lighthouse3d.com/tutorials/glsl-core-tutorial) by **Light House 3D**
143 | * [Modern OpenGL](http://www.tomdalling.com/blog/category/modern-opengl) by **Tom Dalling**
144 | * [OpenGL Examples](https://github.com/McNopper/OpenGL) by **Norbert Nopper**
145 | * [OpenGL Step by Step](http://ogldev.atspace.co.uk) by **Etay Meiri**
146 | * [OpenGL Tutorial](https://open.gl) by **Alexander Overvoorde**
147 | * [OpenGL Tutorial](http://antongerdelan.net/opengl/index.html) by **Anton Gerdelan**
148 | * [OpenGL Tutorial](http://www.opengl-tutorial.org) by **Bonder Wu**
149 | * [OpenGL Tutorial](http://www.songho.ca/opengl) by **Song Ho Ahn**
150 |
151 | ## Related lists
152 |
153 | *Similar awesome lists*
154 | * [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists.
155 | * [awesome-computer-vision](https://github.com/jbhuang0604/awesome-computer-vision) - A curated list of awesome computer vision resources.
156 | * [awesome-webgl](https://github.com/sjfricke/awesome-webgl) - A curated list of awesome WebGL libraries, resources and much more.
157 | * [awesome-vulkan](https://github.com/vinjn/awesome-vulkan) - A curated list of awesome Vulkan projects and ecosystem.
158 | * [gamedev](https://github.com/ellisonleao/magictools) - A awesome list about game development.
159 | * [graphics-resources](https://github.com/mattdesl/graphics-resources) - A list of graphic programming resources.
160 |
161 |
162 | ## License
163 |
164 | [](http://creativecommons.org/licenses/by/4.0/)
165 |
166 | This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
167 |
168 | ## Contributing
169 | Please see [CONTRIBUTING](https://github.com/eug/awesome-opengl/blob/master/CONTRIBUTING.md) for details.
170 |
--------------------------------------------------------------------------------
/opengl-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
42 |
--------------------------------------------------------------------------------