30 open-source projects similar to tsherif/simple-opengl-loader, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Headers Only C++11 CPU Vector Graphics. no std-lib, no FPU and no GPU required !
This project is a collection of portable, header-only C functions designed for integration into software projects without complex build dependencies or external linking requirements. It provides a suite of low-level utilities for graphics, audio, and data management, focusing on direct memory manipulation and zero-dependency portability. By utilizing a single-header distribution model, the library simplifies dependency management while allowing developers to maintain full control over memory allocation and binary size through compile-time configuration. The library distinguishes itself by off
A free, header-only C++ swarming (flocking) library for real-time applications
POV-Ray is a ray tracing rendering engine that transforms text-based scene descriptions into photorealistic three-dimensional images and animations. It parses plain-text files containing scene geometry, lighting, textures, and camera definitions into an internal computational data structure, then calculates precise mathematical ray-scene intersections against geometric primitives and triangle meshes. The engine incorporates advanced lighting and geometry capabilities, including bounding hierarchy optimization to skip collision checks against distant geometry, and constructive solid geometry f
A set of utilities for taking the pain out of Vulkan in header only modern C++
Package aseprite implements a decoder for Aseprite sprite files (.ase and .aseprite files).
Babylon.js is a JavaScript game engine and real-time graphics renderer designed for creating interactive three-dimensional visuals and applications. It functions as a web-based 3D framework and WebGL engine that enables the deployment of high-performance 3D content across various web platforms and devices. The project provides tools for web-based 3D game development, real-time graphics rendering, and the creation of browser-based interactive visualizations. It also supports the development of WebXR virtual and augmented reality experiences using standard web technologies. The framework cover
A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps. It is based on a idea presented by Michał Iwanicki in the talk Lighting Technology of "The Last Of Us". A least squares solver is used to find a minimal error solution to the problem of sampling…
bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides a unified interface that maps high-level rendering commands to native graphics APIs, allowing developers to maintain a single codebase that executes consistently across diverse operating systems and hardware architectures. The library distinguishes itself through a multi-threaded command submission model that decouples rendering logic from the main application thread, effectively minimizing CPU bottlenecks. It utilizes a backend-agnostic command buffer and a deferred resource
2D Vector Graphics Engine Powered by a JIT Compiler
Simple single header modular library for font rendering and atlas management.\ The library is designed to be lightweight, RFont.h itself does not directly handle rendering calls, it passes raw data to the user defined renderer.
A C header file & shader for simulating colourblindness and checking contrast.
EaselJS is a JavaScript library for creating interactive 2D graphics and animations using the HTML5 Canvas element. It functions as a 2D animation framework, a canvas scene graph manager, and an interaction wrapper for detecting and responding to mouse and touch events. The library features a rendering pipeline that utilizes WebGL to increase the drawing performance of bitmap and cached content. It organizes visual elements into a hierarchical display list, allowing nested groups of 2D graphics objects to be transformed and animated as single units. Its capabilities cover the rendering of ve
This project is a lightweight, self-contained library for gizmo editing commonly found in many game engines. It includes mechanisms for manipulating 3d position, rotation, and scale. Implemented in C++11, the library does not perform rendering directly and instead provides a per-frame buffer of…
A display-tree 2D rendering layer for Ebitengine, including scene management, batching, cameras, culling, hit detection, and special effects. Inspired by Starling, Flash display lists, and PixiJS, adapted for Go's strengths.
DiligentEngine is a cross-platform graphics abstraction layer and physically-based rendering engine. It provides a unified interface for executing 3D graphics commands across multiple low-level rendering backends from a single codebase, including a dedicated system for importing 3D assets via the GLTF 2.0 format. The engine features an HLSL shader cross-compiler that allows a single set of shaders to run across different graphics APIs and operating systems. It supports advanced rendering capabilities such as ray-tracing, mesh shaders, variable rate shading, and bindless resources. The framew
This package is a fork of tdewolff/canvas containing changes for game development with Ebitengine. See Diffs from the original section for details.
TIGR is a tiny cross-platform graphics library, providing a unified API for Windows, macOS, Linux, iOS and Android.
shapes is a package for Ebitengine (the 2D game library written by Hajime Hoshi) that allows rendering some common shapes and effects in complementary ways to the official vector package. Some examples:
Fabric.js is an object-oriented canvas library that provides an interactive framework for managing shapes, images, and text within an HTML5 canvas environment. It abstracts raw pixel-based drawing commands into a structured hierarchy of objects, enabling developers to manipulate, transform, and animate elements through a centralized event-driven system. The library distinguishes itself by offering comprehensive state serialization, allowing complex graphic compositions to be converted into JSON or SVG formats for persistent storage and reconstruction. It includes a built-in SVG parser that co
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
This project is a header-only C++ library designed for graphics mathematics, providing a comprehensive suite of vector, matrix, and quaternion types. It is built using template metaprogramming to generate mathematical primitives at compile time, eliminating the need for precompiled binary libraries and allowing for direct integration into existing build systems. The library is distinguished by its strict adherence to the OpenGL Shading Language specification, ensuring that mathematical results remain consistent across both CPU and GPU code. It provides specialized utilities for managing float
Assimp is a cross-platform 3D asset pipeline and import library that loads numerous industry-standard 3D file formats into a single unified internal data structure. It functions as a framework for converting 3D models between different file formats across multiple operating systems and architectures. The project provides a 3D mesh processing tool for normalizing and optimizing geometry through triangulation, vertex removal, and normal generation. It also includes a 3D asset export utility to write internal scene data back into various external file formats. The system covers broad capability