awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
JoeyDeVries avatar

JoeyDeVries/LearnOpenGL

0
View on GitHub↗
12,495 stars·2,957 forks·C++·12 viewslearnopengl.com↗

LearnOpenGL

LearnOpenGL is an educational resource and collection of C++ graphics implementations designed to teach the OpenGL graphics API. It provides code samples and reference implementations for real-time rendering, focusing on the creation of 2D and 3D visuals.

The project includes practical examples of GLSL shaders for rendering 3D geometry and visual effects. These implementations are organized as a cross-platform graphics project, allowing the code to be built and executed across different operating systems.

The repository covers the fundamental concepts of graphics programming, including shader compilation, window management, and the management of GPU rendering pipelines. It utilizes a standard build system to automate the compilation and linking of graphics libraries.

Features

  • OpenGL Graphics Programming - Teaches the creation of 2D and 3D visuals by writing shaders and managing OpenGL graphics pipelines.
  • Graphics API Samples - Provides a comprehensive collection of reference implementations and samples for OpenGL graphics programming.
  • Graphics API Learning Resources - Serves as an educational resource with code samples and reference implementations for learning OpenGL.
  • Real-Time Rendering Guides - Offers step-by-step implementation guides and code examples for fundamental real-time rendering concepts.
  • Runtime Shader Compilers - Implements the runtime compilation of GLSL shader source code into binary format for the GPU.
  • Graphics State Pipelines - Manages the GPU rendering pipeline using a global state machine to control draw calls.
  • Visual Effect Shaders - Provides practical GLSL shader implementations for rendering 3D geometry and visual effects.
  • Graphics Implementations - Provides source code demonstrating real-time rendering and shader programming using C++.
  • Cross-Platform Graphics Tooling - Supplies a set of buildable graphics applications that run consistently across multiple operating systems.
  • Function Pointer Retrievers - Uses GLAD to dynamically resolve OpenGL function pointers for driver compatibility.
  • Buffer Data Uploads - Implements the upload of vertex and index data from system memory to GPU vertex buffer objects.
  • Windowing Abstractions - Provides window creation and input event handling via the GLFW abstraction layer.

Star history

Star history chart for joeydevries/learnopenglStar history chart for joeydevries/learnopengl

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does joeydevries/learnopengl do?

LearnOpenGL is an educational resource and collection of C++ graphics implementations designed to teach the OpenGL graphics API. It provides code samples and reference implementations for real-time rendering, focusing on the creation of 2D and 3D visuals.

What are the main features of joeydevries/learnopengl?

The main features of joeydevries/learnopengl are: OpenGL Graphics Programming, Graphics API Samples, Graphics API Learning Resources, Real-Time Rendering Guides, Runtime Shader Compilers, Graphics State Pipelines, Visual Effect Shaders, Graphics Implementations.

What are some open-source alternatives to joeydevries/learnopengl?

Open-source alternatives to joeydevries/learnopengl include: learnopengles/learn-opengles-tutorials — This repository serves as an educational resource for developers learning mobile and embedded graphics programming. It… microsoft/windows-universal-samples — This repository is a comprehensive collection of reference implementations and sample libraries for the Universal… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… kitware/cmake — CMake is a cross-platform build system generator and build automation tool. It is used to define build requirements… nuke-build/nuke — Nuke is a build automation system for defining software compilation and deployment pipelines using a strongly typed C#… godotengine/godot-cpp — godot-cpp is a C++ binding library and development kit for creating high-performance extensions and custom nodes for…

Open-source alternatives to LearnOpenGL

Similar open-source projects, ranked by how many features they share with LearnOpenGL.
  • learnopengles/learn-opengles-tutorialslearnopengles avatar

    learnopengles/Learn-OpenGLES-Tutorials

    1,060View on GitHub↗

    This repository serves as an educational resource for developers learning mobile and embedded graphics programming. It provides a collection of tutorials and instructional code examples focused on implementing rendering techniques using the OpenGL ES graphics interface. The project covers the fundamental components of the graphics pipeline, including shader-based programmable stages, matrix-based coordinate transformations, and texture mapping. It also demonstrates practical techniques for managing graphics hardware, such as vertex buffer streaming, state management, and depth-buffer hidden s

    Java
    View on GitHub↗1,060
  • microsoft/windows-universal-samplesmicrosoft avatar

    microsoft/Windows-universal-samples

    9,696View on GitHub↗

    This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc

    JavaScript
    View on GitHub↗9,696
  • nasa/fprimenasa avatar

    nasa/fprime

    10,766View on GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    View on GitHub↗10,766
  • kitware/cmakeKitware avatar

    Kitware/CMake

    7,968View on GitHub↗

    CMake is a cross-platform build system generator and build automation tool. It is used to define build requirements and dependencies for C and C++ source code, managing the compilation and linking process across different operating systems. The project functions by generating platform-specific build files and scripts from a single configuration. This allows for the standardization of how software is compiled and packaged for compilers and development tools across various environments. The tool covers C++ project configuration and native application compilation for desktop and embedded system

    C
    View on GitHub↗7,968
  • See all 30 alternatives to LearnOpenGL→