30 open-source projects similar to oframe/ogl, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Oframe Ogl alternative.
This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices. The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically bas
DirectXTK is a C++ library designed to simplify 2D and 3D graphics, audio, and input programming for DirectX applications. It serves as a comprehensive toolkit providing high-level wrappers for DirectX graphics, audio management, and input handling. The toolkit includes a graphics wrapper for loading textures and rendering 3D models and 2D sprites, alongside a dedicated audio manager for sound effects and 3D spatial audio. It also provides an input handler to track and process state updates from keyboards, mice, and gamepads. The library covers a broad capability surface including 3D math an
webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D and 3D rendering using the WebGL API. It serves as a structured 3D graphics curriculum and GPU programming reference, guiding users through the graphics pipeline from basic geometry to advanced rendering techniques. The project provides detailed guides on GLSL shader development, including the creation of vertex and fragment shaders. It specifically focuses on the implementation of real-time lighting models—such as directional, point, and spot lighting—and the application of s
model-viewer is a web-based 3D model viewer provided as a web component for rendering interactive three-dimensional assets and animations directly in a browser. It functions as a specialized GLTF web renderer designed to display GLTF and GLB files with settings optimized for performance and quality. The project includes a WebXR augmented reality player that projects 3D models into real-world environments using mobile device cameras and spatial tracking. It also features a visual regression testing tool capable of generating golden images and comparing renders to detect visual regressions in 3
This project is a web-based 3D experience and interactive gallery designed as a personal portfolio. It uses a virtual room simulation to create a spatial representation of a physical environment where users can navigate and explore digital art and creative work. The environment is rendered directly in the browser as an interactive 3D gallery, allowing users to engage with a spatial showcase through first-person navigation. The project utilizes WebGL-based GPU rendering and custom shader-based lighting to display complex spatial environments. It incorporates asynchronous asset loading and an
GPAC is an open-source multimedia framework built around a pluggable filter graph pipeline, where modular processing units called filters connect into a directed graph to handle media workflows. At its core, the framework centers all media packaging and manipulation on the ISO Base Media File Format (ISOBMFF), with specialized tools for reading, writing, fragmenting, and encrypting MP4 and related containers. It also provides a declarative scene graph composition system for describing interactive multimedia scenes using MPEG-4 BIFS, X3D, SVG, or VRML syntax, alongside a hardware-accelerated re
Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se
Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst
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
regl is a declarative WebGL library that manages graphics state and GPU resources through functional commands instead of manual binding and state tracking. It provides a command-based drawing abstraction where shaders, attributes, and render state are encapsulated into reusable, compiled functions that can be executed efficiently. What sets regl apart is its scoped state inheritance system, which allows nested drawing commands to inherit and override render state from parent scopes for organized rendering. The library automatically recovers from GPU context loss by restoring buffer and textur
Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It functions as a GPU compute framework for parallel mathematical operations and a physically-based rendering graphics pipeline for realistic materials and surfaces. The system also includes a web-based 3D animation toolkit for driving skeletal animations and interpolating vertex positions. The engine is distinguished by its use of an entity component system for scene logic and a macro-based shader generation system that creates multiple shader variants. It optimizes performance thr
This library is a JavaScript framework for general-purpose computing on graphics processing units. It enables the execution of parallel mathematical operations directly within the browser by offloading data-heavy calculations to graphics hardware. The project functions as a web-based math accelerator that converts standard JavaScript functions into shader code for execution on the graphics processor. It provides a unified interface that detects available graphics APIs and manages data transfer between system and graphics memory. To ensure compatibility across diverse environments, the library
This project is a creative coding showcase and interactive 3D portfolio template. It utilizes JavaScript and ThreeJS to render a navigable browser environment for presenting professional projects and digital artwork. The project implements a WebGL interactive gallery and immersive digital showcases. These environments use hardware-accelerated graphics to provide 3D navigation and creative web animations. The technical implementation includes a 3D scene with camera movement and lighting, supported by GLTF model loading and raycaster-based interaction. The architecture employs an entity-compon
This library is a web-based framework designed for general-purpose parallel processing and high-performance computation on graphics hardware. It provides a toolkit for executing complex mathematical operations, physics simulations, and procedural visualizations directly within the browser by leveraging the graphics processor for data-intensive tasks. The framework distinguishes itself through automated shader management, which ensures consistent execution across diverse hardware and browser environments. It achieves this by transpiling modern shader syntax into legacy versions and automatical
This project is a frontend visualization library and gallery of interactive web examples. It provides a collection of implementations that demonstrate advanced visual effects through the use of stylesheets, canvas drawing surfaces, and three-dimensional graphics libraries. The collection specifically features implementations for visualizing artificial intelligence outputs and complex data patterns. It includes specialized galleries for three-dimensional scenes and spatial objects, as well as a showreel of stylistic motion effects and interface designs. The library covers a broad range of ren
The Book of Shaders is an interactive educational guide and curriculum for learning GLSL fragment shader programming to create procedural graphics and visual effects. It provides a structured learning path and a categorized reference guide for data types, built-in functions, and mathematical operations used in shader development. The project features a web-based shader sandbox and interactive editor that allows for real-time iteration and visualization of GLSL code. Users can experiment with procedural art and share their results via unique URLs. The curriculum covers a wide range of graphic
webgl-globe is a WebGL globe visualization library and geospatial renderer used to display latitude and longitude spatial data on an interactive 3D globe. It functions as a 3D data visualization tool that maps coordinate-based datasets into a three-dimensional environment. The library provides capabilities for interactive geographic visualization and spatial data animation, allowing for the rendering of geographic coordinates and the creation of automated motion sequences to illustrate trends or movements over time. It utilizes hardware acceleration to implement a web-based map interface, em
Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions. The environment distinguishes itself as a cross-platform sketch tool that runs visual programs unchanged on desktop, web, Android, and Rasp
Hilo is an HTML5 game engine for building 2D games that run across browsers and devices. It renders graphics through Canvas, DOM, or WebGL backends, automatically selecting the best option for the target environment. The engine provides a complete game development solution with sprite, skeletal, and particle animation, along with a texture atlas system for efficient image loading and rendering. The framework distinguishes itself through its integration of the DragonBones skeletal animation engine, which drives bone-based character movement without frame-by-frame sprites, and its Chipmunk phys
Kaolin is a PyTorch 3D deep learning library providing a comprehensive suite of tools for 3D geometry processing, physics simulation, data visualization, and gradient-based rendering for computer vision. The library includes a differentiable 3D renderer and a geometry processing toolkit for converting and transforming 3D representations such as meshes and point clouds. It also features a 3D physics simulation engine to calculate physical interactions and collisions between three-dimensional objects and scenes. The toolkit provides utilities for 3D data visualization, including the creation o
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
This project is a ray tracing engine and C++ rendering project designed to simulate the physical behavior of light to generate 2D images from 3D scenes. It serves as a computer graphics tutorial and educational implementation intended to teach the fundamental mathematical and algorithmic principles of 3D graphics programming. The implementation focuses on the foundations of light transport and scene geometry. It utilizes Whitted-style recursive raytracing to simulate reflections and employs Lambertian diffuse shading to calculate surface brightness. The engine handles 3D scene rendering thro
VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par
Spritejs is a graphics library and cross-platform 2D graphics engine designed for rendering geometric shapes and sprites across web, desktop, and mobile environments. It functions as a canvas-based sprite framework that manages elements using a document object model for positioning and styling. The project provides a web worker rendering engine that distributes graphic layers to offscreen canvases, preventing main thread blocking. It also includes a server-side graphics generator for producing visual elements and images in non-browser environments. The toolkit covers a broad range of graphic
Cobe is a WebGL globe library designed for interactive 3D geographic data visualization. It functions as a canvas-based map component that renders a world map, allowing for the plotting of latitude and longitude coordinates via markers and connecting arcs. The library distinguishes itself by linking standard HTML elements to 3D coordinates using CSS anchor positioning. This integration enables the attachment of DOM elements, such as labels and tooltips, directly to markers and arcs on the sphere. The system covers geographic data plotting and network connection mapping, utilizing automated r
WebGL Noise is a library of shader routines designed for procedural graphics generation within the browser. It provides a collection of mathematical functions that allow developers to calculate noise patterns directly on the graphics processing unit, eliminating the need for external image assets or pre-computed data textures. The library focuses on the implementation of standard noise algorithms, including simplex, classic, cellular, and periodic patterns. By executing these calculations as stateless functions within the shader pipeline, the project enables the creation of dynamic, evolving
Zdog is a JavaScript graphics library designed for rendering pseudo-three-dimensional geometric models within web browser environments. It functions as a lightweight engine that draws flat, vector-based shapes onto HTML5 canvas or SVG elements by utilizing a scene graph to manage object relationships and spatial transformations. The library distinguishes itself through a unique approach to volumetric modeling, where three-dimensional depth is simulated on flat shapes by dynamically adjusting stroke thickness. This technique allows for the creation of rounded, plump visual effects without the
This project is a Godot shader library consisting of a collection of GLSL-based visual effects for 2D and 3D graphics. It serves as a resource for improving game visual quality through custom shader files and demo scenes. The library is organized into three primary areas: a 2D sprite effect gallery for visuals such as water simulations and palette swapping, a 3D material shader collection featuring outlines and dissolve effects, and a post-processing shader suite for full-screen effects like Gaussian blur and color inversion. The collection covers a range of capabilities including 2D sprite
Panda3D is a cross-platform game engine and 3D graphics rendering system developed for Python and C++. It functions as a comprehensive framework for building interactive 3D applications, providing a real-time physics simulator and a specialized 3D asset pipeline tool. The engine distinguishes itself by combining a high-performance C++ core with interoperable Python language bindings. It utilizes a scene graph architecture to organize 3D objects and provides a pipeline-based asset conversion system to optimize models and textures for runtime loading. Its capability surface includes low-level
GPUImage is a GPU-accelerated image processing framework for iOS designed to apply real-time filters and effects to images and video. It functions as a processing engine and fragment shader library that manages textures and shaders for efficient visual data manipulation. The framework utilizes a chainable filter architecture and a texture-based data pipeline to pass image data between processing stages without expensive memory transfers. It enables the creation of bespoke visual effects through the authoring of custom fragment shaders and provides mechanisms to synchronize texture data with e