{"id":547,"url":"https://github.com/eug/awesome-opengl","last_synced_at":"2025-09-28T19:32:06.368Z","repository":{"id":34137335,"uuid":"37971591","full_name":"eug/awesome-opengl","owner":"eug","description":"A curated list of awesome OpenGL libraries, debuggers and resources.","archived":false,"fork":false,"pushed_at":"2023-08-17T12:25:43.000Z","size":76,"stargazers_count":2083,"open_issues_count":0,"forks_count":180,"subscribers_count":94,"default_branch":"master","last_synced_at":"2024-05-23T03:03:29.844Z","etag":null,"topics":["awesome","awesome-list","computer-graphics","game-development","glsl-editors","graphics-pipeline","lists","opengl","opengl-library","opengl-tutorial","video-tutorial"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-06-24T08:15:25.000Z","updated_at":"2024-05-22T21:56:01.000Z","dependencies_parsed_at":"2024-01-05T20:13:14.216Z","dependency_job_id":"507fc1ec-58f7-4185-b476-622bc201e8c6","html_url":"https://github.com/eug/awesome-opengl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eug%2Fawesome-opengl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eug%2Fawesome-opengl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eug%2Fawesome-opengl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eug%2Fawesome-opengl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eug","download_url":"https://codeload.github.com/eug/awesome-opengl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234555932,"owners_count":18851873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","computer-graphics","game-development","glsl-editors","graphics-pipeline","lists","opengl","opengl-library","opengl-tutorial","video-tutorial"],"created_at":"2024-01-05T20:12:57.878Z","updated_at":"2025-09-28T19:32:01.122Z","avatar_url":"https://github.com/eug.png","language":null,"funding_links":[],"categories":["Media","Miscellaneous","Technical","Others","Uncategorized","Game Development ##","Related","HarmonyOS","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Related Lists","Development","其他","Other Lists","Related lists","Core","Other Relevant Awesome Lists","Awesome","杂项","**Code**","Themed Directories","3D computer graphics","Attribution"],"sub_categories":["awesome-*","Uncategorized","\u003ca href=\"#-\"\u003e`^`\u003c/a\u003e Graphics Rendering ###","Other","Windows Manager","Engines","WINE implementations","TeX Lists","Others","Svelte","New Functionality","OpenGL","AI-Assisted CG Software","Updated in the last 6 months"],"readme":"# awesome-opengl [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n[\u003cimg src=\"https://rawgit.com/eug/awesome-opengl/master/opengl-logo.svg\" align=\"right\" width=\"140\"\u003e](https://www.opengl.org)\n\nA curated list of awesome OpenGL libraries, debuggers and resources.\n\n## Contents\n\n* [Articles](#articles)\n* [Books](#books)\n* [Debug](#debug)\n* [GLSL Editors](#glsl-editors)\n* [Libraries](#libraries)\n* [Profile Loaders](#profile-loaders)\n* [References](#references)\n* [Talks](#talks)\n* [Videos](#videos)\n* [Websites](#websites)\n\n\n## Articles\n\n*OpenGL articles (non-tutorials)*\n\n* [(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).\n* [(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.\n* [(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.\n* [(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.\n\n\n## Books\n\n*Popular books about OpenGL*\n\n* [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.\n* [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.\n* [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.\n* [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.\n* [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.\n* [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.\n* [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.\n* [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.\n* [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.\n\n\n## Debug\n\n*Debugging and profiling libraries*\n\n* [apitrace](http://apitrace.github.io) - Tools for tracing OpenGL, Direct3D, and other graphics APIs.\n* [CodeXL](https://github.com/GPUOpen-Tools/CodeXL) - AMD's tool suite that includes debugger, profiler and frame/shader analysis.\n* [GL-SL Debugger](http://glsl-debugger.github.io) - Tool for debugging OpenGL programs.\n* [GLIntercept](https://github.com/dtrebilco/glintercept) - OpenGL function call interceptor for Windows.\n* [Intel-GPA](https://software.intel.com/en-us/gpa) - Intel's OpenGL Graphics Performance Analyzer.\n* [NVIDIA® Nsight™](https://developer.nvidia.com/nvidia-nsight-visual-studio-edition) - Development platform for graphics applications.\n* [RenderDoc](https://github.com/baldurk/renderdoc) - RenderDoc is a stand-alone graphics debugging tool.\n* [tracy](https://github.com/wolfpld/tracy) - A real time remote telemetry frame profiler for games and other applications.\n* [vogl](https://github.com/ValveSoftware/vogl) - OpenGL capture and playback debugger developed by Valve.\n\n\n## GLSL Editors\n\n*Online GLSL Editors*\n\n* [GLSL Sandbox](http://glslsandbox.com) - Online live editor for fragment shaders.\n* [GLSLbin](http://glslb.in) - Fragment shader sandbox supporting [glslify](https://github.com/stackgl/glslify).\n* [SHDR Editor](http://shdr.bkcore.com) - Live GLSL shader editor, viewer and validator.\n* [Shader Toy](https://www.shadertoy.com) - Most popular live editor for fragment shaders.\n* [ShaderFrog](http://shaderfrog.com/) - WebGL Shader Editor and Composer\n\n## Libraries\n\n*Useful libraries for OpenGL applications*\n\n* [assimp](https://github.com/assimp/assimp) - Portable library to import 3D models in a uniform manner.\n* [Bullet](http://bulletphysics.org/wordpress) - It provides state of the art collision detection, soft body and rigid body dynamics.\n* [fltk](https://www.fltk.org/) - C++ Toolkit to generate UI widgets portably. [LGPLv2](https://www.fltk.org/COPYING.php)\n* [freeGLUT](http://freeglut.sourceforge.net) - Mature library that allows to create/manage windows containing OpenGL contexts.\n* [GLFW](http://www.glfw.org) - Modern library for creating/interact windows with OpenGL contexts.\n* [GLFM](https://github.com/brackeen/glfm) - Supplies an OpenGL ES context and input events for mobile devices and the web.\n* [glm](http://glm.g-truc.net/0.9.6/index.html) - Mathematics library for graphics software based on the GLSL specifications.\n* [Magnum](https://github.com/mosra/magnum) - It is a 2D/3D graphics engine for modern OpenGL.\n* [MathFu](http://google.github.io/mathfu/) - C++ math library developed primarily for games focused on simplicity and efficiency.\n* [Newton](http://newtondynamics.com/forum/newton.php) - It is a cross-platform life-like physics.\n* [OGLplus](http://oglplus.org) - Collection of libraries which implement an object-oriented facade over OpenGL.\n* [SDL](http://www.libsdl.org) - Designed to provide low level access to multimedia and graphics hardware.\n* [SFML](http://www.sfml-dev.org) - Simple interface to ease the development of games and multimedia applications.\n* [SOIL](http://www.lonesock.net/soil.html) - Tiny C library used primarily for uploading textures into OpenGL. (see [SOIL2](https://bitbucket.org/SpartanJ/soil2))\n* [Pangolin](https://github.com/stevenlovegrove/Pangolin) - Lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.\n* [morphologica](https://github.com/ABRG-Models/morphologica) - OpenGL graphics engine for data visualization, especially of numerical simulations.\n* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming.\n\n## Profile Loaders\n\n*Profile loaders for OpenGL*\n\n* [gl3w](https://github.com/skaslev/gl3w) - Simple OpenGL core profile loader.\n* [glad](https://github.com/Dav1dde/glad) - Multi profile loader-generator based on the official specs.\n* [glbindify](https://github.com/nnesse/glbindify) - Command line tool to generate C bindings for OpenGL, wgl, and glX.\n* [glbinding](https://github.com/cginternals/glbinding) - Profile loader leveraging C++11 features to provide type safety.\n* [GLEW](http://glew.sourceforge.net) - Mature cross-platform library to load OpenGL extensions.\n\n\n## References\n\n*OpenGL references*\n\n* [docs.GL](http://docs.gl) - It is an alternative documentation for OpenGL.\n* [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.\n* [OpenGL Cheat Sheet](https://www.khronos.org/files/opengl43-quick-reference-card.pdf) - Quick reference card of OpenGL 4.3 commands and syntax.\n* [OpenGL Docs](https://www.opengl.org/sdk/docs) - Official documentation website.\n* [OpenGL Wiki](https://www.opengl.org/wiki/Main_Page) - Official OpenGL wiki.\n\n\n## Talks\n\n*OpenGL related talks*\n* [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]\n* [How Modern OpenGL Can Radically Reduce Driver Overhead](https://www.youtube.com/watch?v=-bCeNzgiJ8I) by **Cass Everitt, John McDonald** [51:13]\n* [Moving Your Games to OpenGL](https://www.youtube.com/watch?v=45O7WTc6k2Y) by **Rich Geldreich, Dan Ginsburg, Peter Lohrmann, Jason Mitchell** [54:45]\n\n\n## Videos\n\n*OpenGL video tutorials*\n\n* [Jamie King](https://www.youtube.com/playlist?list=PLRwVmtr-pp06qT6ckboaOhnm9FxmzHpbY) - Comprehensive tutorials about modern OpenGL and Qt.\n* [MakingGamesWithBen](https://www.youtube.com/playlist?list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW) - Video tutorials (step-by-step) about OpenGL and game development.\n* [SIGGRAPH](https://www.youtube.com/user/ACMSIGGRAPH/playlists) - Popular conference about computer graphics.\n* [TheChernoProject](https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2) - Introduction to OpenGL in C++\n* [thebennybox](https://www.youtube.com/user/thebennybox/playlists) - Videos tutorials about OpenGL and game development.\n* [ThinMatrix](https://www.youtube.com/user/ThinMatrix/playlists) - Video tutorials about OpenGL and game development using Java.\n* [sentdex](https://www.youtube.com/playlist?list=PLQVvvaa0QuDdfGpqjkEJSeWKGCP31__wD) - Videos tutorials about OpenGL (immediate mode) using Python.\n* [Sonar Systems](https://www.youtube.com/playlist?list=PLRtjMdoYXLf6zUMDJVRZYV-6g6n62vet8) - Learn about the new and modern OpenGL 3.0+.\n\n## Websites\n\n*OpenGL tutorial websites*\n\n* [3D Game Shaders For Beginners](https://github.com/lettier/3d-game-shaders-for-beginners) by **David Lettier**\n* [Learn OpenGL](https://learnopengl.com) by **Joey de Vries**\n* [Learning Modern 3D Graphics Programming](https://bitbucket.org/alfonse/gltut/wiki/Home) by **Jason L. McKesson**\n* [Light House 3D](http://www.lighthouse3d.com/tutorials/glsl-core-tutorial) by **Light House 3D**\n* [Modern OpenGL](http://www.tomdalling.com/blog/category/modern-opengl) by **Tom Dalling**\n* [OpenGL Examples](https://github.com/McNopper/OpenGL) by **Norbert Nopper**\n* [OpenGL Step by Step](http://ogldev.atspace.co.uk) by **Etay Meiri**\n* [OpenGL Tutorial](https://open.gl) by **Alexander Overvoorde**\n* [OpenGL Tutorial](http://antongerdelan.net/opengl/index.html) by **Anton Gerdelan**\n* [OpenGL Tutorial](http://www.opengl-tutorial.org) by **Bonder Wu**\n* [OpenGL Tutorial](http://www.songho.ca/opengl) by **Song Ho Ahn**\n\n## Related lists\n\n*Similar awesome lists*\n* [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists.\n* [awesome-computer-vision](https://github.com/jbhuang0604/awesome-computer-vision) - A curated list of awesome computer vision resources.\n* [awesome-webgl](https://github.com/sjfricke/awesome-webgl) - A curated list of awesome WebGL libraries, resources and much more.\n* [awesome-vulkan](https://github.com/vinjn/awesome-vulkan) - A curated list of awesome Vulkan projects and ecosystem.\n* [gamedev](https://github.com/ellisonleao/magictools) - A awesome list about game development.\n* [graphics-resources](https://github.com/mattdesl/graphics-resources) - A list of graphic programming resources.\n\n\n## License\n\n[![Creative Commons License](http://i.creativecommons.org/l/by/4.0/88x31.png)](http://creativecommons.org/licenses/by/4.0/)\n\nThis work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).\n\n## Contributing\nPlease see [CONTRIBUTING](https://github.com/eug/awesome-opengl/blob/master/CONTRIBUTING.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feug%2Fawesome-opengl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feug%2Fawesome-opengl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feug%2Fawesome-opengl/lists"}