Webgl library
Author: w | 2025-04-24
TWGL: A Tiny WebGL helper Library; QTEK: a WebGL graphic library. Four: a slightly higher level graphics API based on WebGL 1.0; TDL: TDL is a low-level library for WebGL apps (see
WebGL charting libraries : r/webgl - Reddit
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.Engines and libraries ⚙️NameStarsLast CommitDescriptionthree.jsJavaScript 3D librarystack.glan open software ecosystem for WebGL, built on top of browserify and npm.PixiJSSuper fast HTML 5 2D rendering engine that uses webGL with canvas fallbackPexPex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser.Babylon.jsa complete JavaScript framework for building 3D games with HTML 5 and WebGLFilamentFilament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGLClayGLA WebGL graphic library helping you to build scalable Web3D applicationsAwayJSAwayJS is a graphics library for javascript written in typescriptSceneJSAn extensible WebGL-based engine for high-detail 3D visualisationBlend4Weba tool for interactive 3D visualization on the InternetPlayCanvasJavaScript game engine built on WebGL and WebVRTurbulenzTurbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices.Hilo3da WebGL Rendering Engine.litesceneA WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio.Two.jsA renderer agnostic two-dimensional drawing api for the web.webgl-operateA TypeScript based WebGL rendering framework.RhodoniteRhodonite Web3D Library in TypeScriptZograA simple WebGL2 renderer.LayaAirLayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.libGDXDesktop/Android/HTML5/iOS Java game development framework.LittleJSLittleJS is a HTML5 game engine with many features and no dependencies.Galacean EngineA typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF.NameStarsLast CommitDescriptiondawnDawn, a WebGPU implementationwgpuSafe and portable GPU abstraction in Rust, implementing WebGPU API.RedGPURedGPU - Javascript webGPU Enginesokol3D-API wrapperwgpuNative WebGPU implementation based on gfx-haldgelA WebGPU engine.YUEPersonal WebGPU based 3D renderer.Simple-GPUFunctional WebGPU.VelloAn experimental GPU compute-centric 2D renderer.GWebGPUEngineA WebGPU Engine for real-time rendering and GPGPU.OrillusionOrillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.SWGPUA complete, fast and fun web game engine with examples.XGPUa higher-level, easy-to-use interface for building rendering engines or processing numeric data.webgpu-rendererA simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.pointsA Generative Art library made in WebGPUWebGPU RaytracerRealtime path tracing via WebGPU compute shadersWebGPU-KitA minimal webGPU toolkit for rendering and compute pipelinesshadeupA language for WebGPU that makes writing shaders easierSundown EngineWebGPU game engine for fun and games.CobaltWebGpu 2D renderer.Toolkits and micro frameworks 🧰NameStarsLast CommitDescriptionreglFast functional WebGLlightgl.jsA lightweight WebGL libraryTWGLA Tiny WebGL helper Libraryp5.jsa new interpretation of Processing, not an emulation or port.Foura slightly higher level graphics API based on WebGL 1.0TDLTDL is a low-level library for WebGL apps (see TWGL)KickJSA WebGL game engine for modern web-browsersnanoglwebgl micro frameworkAlfridA WebGL tool setMediumProgressive WebGL toolkit for artPicoGL.jsA minimal WebGL 2-only rendering libraryO-GLMinimal WebGL frameworkmini-webglMini toy WebGL libraryphenomenon-pxThe fastest way to create pixel shaders.zen-3dJavaScript 3D library.GLOWGLOW is a WebGL wrapper, which focuses on easy creation and use of shaders.HelixA Javascript 3D engine.GrimoireJSA WebGL framework for Web development.litegl.jsLightweight Javascript WebGL library for handling Context, Meshes, Textures and Shaders.CraZyPGlowlevel webgl2.0 libraryGLBoostA Useful WebGL Library for Small TurningRedCube.jsWebGL2 rendering library.RedGL2RedGL - JavaScript 3D librarygi-voxelsWebGL Voxel Cone TracingartglTypeScript 3D framework. Building blocks & infrastructure for Web 3D application.Squareroot.jsA 2d/3d engine for WebGL and Canvas rendering and animationgl3webgl helper librarywwgSimple WebGL wrapperglTipsUseful, cherry-pickable, and CC0 (public domain like) licensed WebGL routine code snippets.dan-shari-glminimum webgl framework developed with TypeScripthwoa-rang-glLightweight WebGL Library written in TypescriptdesenhaA barebones WebGL framework.Tmp3DA 3-D software renderer written from scratch in nothing but JavaScriptopusglA minimal rendering library.feng3dTypeScript 3D engine built on WebGL.swissglSwissGL is a minimalistic wrapper on top of WebGL2 JS API.fourMinimal three.js alternative.gliiObject-oriented understandable WebGL.foam-glA WebGL toolkit.Path Tracing ☈NameStarsLast CommitDescriptionSnellyA system for physically-based SDF (signed distance field) pathtracing in WebGLAshesWebGL2.0 3D Engine & ECS & RayTracingTools build on top of... 🏘️NameStarsLast CommitDescriptionWhitestormJSSuper-fast 3D framework for Web Applications & Games. Based on Three.jsPhaserPhaser is a fast, free, and fun open source HTML5 game framework. It uses a custom build of Pixi.js.OSG.jsJavascript Implementation of OpenSceneGraphAmmo.jsDirect port of the Bullet physics engine to JavaScript using Emscriptengl-enginean experimental ES6 WebGL engine built on stack.glGLAMglam (GL A nd M arkup) is a declarative language for creating 3D web content.potreeWebGL point cloud viewer for large datasetsplotly.jsBuilt on top of d3.js and stack.gl, plotly.js is a high-level, declarative charting library.threeifythreeify is a Typescript 3D library loosely based on three.js.ROYGBIVA 3D engine for the Webshreelite three.jsTaroA lightweight 3D game engine for the web.Alien.jsAlien.js is a MVC design pattern for building single-page applications with ES modules and three.js, intended for developers who are interested in creating their own shaders.gpu-ioA GPU-accelerated computing library for physics simulations and other mathematical calculationsenable3dStandalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3ThreePipeA 3D viewer framework built on top of three.js with a focus on rendering, modularity and extensibility.BrainchopIn-browser 3D MRI rendering and segmentation.lgl-tracerLGLTracer is a web ray tracing renderer, implemented as a plug-in library on top of Threejs.Maps and visualizations 🗺️NameStarsLast CommitDescriptionMapbox GL JSInteractive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL.Deck.glWebGL based visualization layersLumaGLA JavaScript WebGL Framework for Data VisualizationCesiumOpen-source library for world-class 3D globes and maps.xeoglA data-driven 3D visualization engine on WebGLPhiloGLA WebGL Framework for Data Visualization, Creative Coding and Game DevelopmentMathBoxPresentation-quality WebGL math graphingVTKVisualization Toolkit for the WebApache EChartsA powerful, interactive charting and data visualization library for browserTroikaA JavaScript framework for interactive 3D and 2D visualizations@antv/gA powerful rendering engine for AntV implemented with Canvas2D / SVG / WebGL / WebGPU.VR 🥽NameStarsLast CommitDescriptionA-FrameA web framework for building virtual reality experiences.PlayCanvasJavaScript game engine built on WebGL and WebVRWebAssembly 🟪NameStarsLast CommitDescriptionGLASWebGL in WebAssembly with AssemblyScriptWebRaysRay Tracing on the WebmuglMicro WebGL 2.0 3D Graphics Library forcevherkarakoc/WebGL-Math: A Mathematics Library for WebGL - GitHub
SpectorJSSummaryExplore and Troubleshoot your WebGL scenes (All engines and Vanilla script support) with ease.Spector is a tool aimed at WebGL developers wanting to know what happens in their context. It enables capturing of all the available information from a frame. You will be able to look at your entire commands list with their associated visual states and context information.This can be used either as a browser extension or directly from your page with a Standalone Version. Table of ContentWhyBrowser extensionUse as a ModuleWebpack sampleUse as a Script ReferenceCDNFrom the repositoryNode_ModulesHow To ReferenceBasic usageCustom dataAvailable APIsBuild LocallyContributeChangeLogLearn WebGlWhyBack to topAs a core member of the BabylonJS team I often found the need to debug what was happening to my webgl context. I was a huge fan of webgl inspector until we introduced WebGL2 in Babylon. As the WebGL community as a whole is our focus, I thought it would be great to share an extension compatible with all the Webgl/Webgl2 engines available.You can use the library inside of your own application easily as it is transpiled as a UMD module. It will either work as a script reference or with your favorite bundling tools like webpack.Browser extensionBack to topIf you are willing to use the browser extension, you can direclty install it from the store:ChromeFirefoxYou can find on Real Time Rendering a complete tutorial about the Spector extension. Else, you can refer to the extension documentation to learn how to use it.Or you can take a look at the following documentation to load it from the source: Browser Extension. Use as a ModuleBack to topIn order to install the library in your application directory, please type the following command on a command line prompt open on the application directory:From this point you are all set to use it in your app.Webpack sampleBack to topAs a quick demo, here is a simple way to use the spector module with webpack.Please follow the instructions below to create a new directory and install the required tools:mkdir samplecd samplenpm initnpm install webpack --save-devnpm install spectorjs --save-devFollowing the HelloWorld example from Webpack, you can now create it in the sample folder:A js file named entry.js containing the following code:var SPECTOR = require("spectorjs");var spector = new SPECTOR.Spector();spector.displayUI();And an html file named index.js containing the following code: ">html> head> head> body> script type="text/javascript" src="bundle.js" charset="utf-8">script> body>html>Now your application is ready. Go back to your command line and bundle the javascript file:webpack entry.js bundle.jsYou are all set. You can open your index.html file and see the inspector running. It obviously won't be that usefull on an empty page but at least you get the integration idea.Use as a Script ReferenceBack to topCDNFeel free to leverage the jsDeliver CDN to use the library from your own projets: you prefer to host your own version, the library is available in the dist folder of the repo.node_modulesIf you used npm to install the library you can find the spector.bundle.js file in the node_module/spectorjs/dist folder.How To ReferenceSimply add the following tag in your. TWGL: A Tiny WebGL helper Library; QTEK: a WebGL graphic library. Four: a slightly higher level graphics API based on WebGL 1.0; TDL: TDL is a low-level library for WebGL apps (seeOpenglobus is a JavaScript/WebGL library for
Debugging and trouble shooting WebGL buildsWebGL is an API for rendering graphics in web browsers, which is based on the functionality of the OpenGL ES graphics library. WebGL 1.0 roughly matches OpenGL ES 2.0 functionality, and WebGL 2.0 roughly matches OpenGL ES 3.0 functionality.Deferred RenderingUnity WebGL only supports Deferred Rendering Path if WebGL2.0 is available. On WebGL1.0, Unity WebGL runtime will fallback to Forward Rendering.Global IlluminationUnity WebGL only supports baked GI. Realtime GI is not currently supported in WebGL. Furthermore, only Non-Directional lightmaps are supported.Procedural MaterialsUnity WebGL does not support Procedural Materials at runtime. Like on other unsupported platforms, Procedural Materials will be baked into ordinary Materials during the build.Linear RenderingWebGL does not support linear color space rendering.MovieTexturesWebGL does not support playing Video using the MovieTexture class. However, you can efficiently play back video in your WebGL content using the HTML5 video element. Download this Asset Store package for an example of how to do so.WebGL Shader code restrictionsThe WebGL 1.0 specification imposes some limitations on GLSLS shader code, which are more restricted then what many OpenGL ES 2.0 implementations allow. This is mostly relevant when you write your own shaders.Specifically, WebGL has restriction on which values can be used to index arrays or matrices: WebGL only allows dynamic indexing with constant expressions, loop indices or a combination. The only exception is for uniform access in vertex shaders, which can be indexed using any expression.Also, restrictions apply on control structures. The only type of loops which are allowed are counting for loops, where the initializer initializes a variable to a constant, the update adds a constant to or subtracts a constant from the variable, and the continuation test compares the variable to a constant. for loops which don’t match those criteria and while loops are not allowed.Font renderingUnity WebGL supports dynamic font rendering like all Unity platforms. However, it does not have access to the fonts installed on the user’s machine, so any fonts used must be included in the project folder (including any fallback fonts for international characters, or bold/italic versions of fonts), and set up as fallback font names.Anti-AliasingWebGL supports anti-aliasing on most (but not on all) combinations of browsers and GPUs. To use it, anti-aliasing must be enabled in the default Quality Setting for the WebGL platform. Switching quality settings at runtime will not enabled or disable anti-aliasing - it has to be set up in the WebGL 2A video series for learning WebGL 2 concepts=====================================================This repository contains all the final code files we've written in my series on WebGL 2 on YouTube. More will be added as new videos go up.Episode listHello World link to comeUniforms 1 link to comeAttributes 1 link to comePrecision link to comeAttributes 2 link to comedrawElements link to comeTargets link to comeAbout the seriesEvery video will attempt to demonstrate some aspect of WebGL 2 in isolation. We're avoiding all 3rd party dependencies. We're not building up to a grand application at the end. We're not even building our own WebGL library. All code will exist in a single page and, as much as possible, will focus on a single, isolated concept.Please don't get distracted by my set-up. I'm writing to TypeScript files, but you'll probably just use JavaScript files. I'm using VSCode with the GLSL Lint extension, but you should use whatever you are most comfortable using. I'm using Parcel.js for hot-reloading and TypeScript transpilation, but you can use whatever system you like (even if that's just writing to a file on your desktop and hitting Ctrl+R.) If you spend more than a minute setting your environment up, that's a minute wasted that you could be learning WebGL.I really hope you enjoy this series.Wait! Hang on! Why bother?Yeah. That's a great question. There are a lot of really, really, really good WebGL and OpenGL video tutorials out there. And I am pretty new to WebGL. I'm certainly no guru. So whatgreggman/webgl-memory: A library to track webgl-memory - GitHub
WebGL ou Web Graphics Library nada mais é do que uma interface de programação Aplicativos JavaScript que o ajuda a renderizar gráficos interativos 3D e XNUMXD em qualquer navegador da Web compatível sem usar plug-ins de terceiros. Funciona bem com padrões da web que permitem usar Aceleração GPU Para apresentar gráficos como parte da página da web. Melhora drasticamente o desempenho geral da sua página da web. É compatível com uma variedade de navegadores da web, como Microsoft Edge و Google Chrome و Mozilla Firefox E mais. Mas às vezes, não funciona corretamente ou não é possível; Hoje aprenderemos como obter esse recurso da maneira certa.O que é WebGL? Por que você precisa disso?Como habilitar WebGL em seu navegadorEmbalagemO que é WebGL? Por que você precisa disso?Antes de começarmos a habilitar o WebGL, vamos entender o que é o WebGL. Agora, o WebGL permite que seu navegador execute renderização 2D e 3D sem instalar nenhum plug-in, como mencionamos anteriormente. Ele também permite que o navegador use a GPU de hardware para cálculos gráficos em vez de sua CPU. Isso significa que a renderização gráfica funcionará melhor e, o mais importante, funcionará.Acima de tudo, seu navegador deve suportar WebGL. Uma maneira precisa de verificar Visitando este site Simplesmente. Se você receber uma mensagem que diz “Seu navegador suporta WebGL”, podemos prosseguir.Portanto, se você projeta gráficos para a web ou escreve scripts para exibir gráficos em seu navegador, isso proporcionará um grande aumento de desempenho. Além disso, ele eliminará a dependência de plug-ins externos.Como habilitar WebGL em seu navegadorComo habilitar o WebGL depende de qual navegador você está trabalhando. Veja como habilitar WebGL em navegadores baseados em Chromium, Mozilla Firefox e Safari.1. Google Chromepor causa de Google Chrome Depende de Chromium , Este método funcionará na maioria dos Chromium مثل Brave و Vivaldi و Opera بالإضافة إلى Microsoft Edge , Etc. Certifique-se de que está executando a versão mais recente do Google Chrome lá. Para encontrar a versão do Chrome, clique no ícone de menu no canto superior direito, clique em Ajuda e em Sobre o Google Chrome.Presumindo que você esteja executando a versão mais recente do Chrome, precisamos permitir que o Chrome use nossa unidade de processamento gráfico de hardware (GPU) para realizar cálculos gráficos. Então, vá para as configurações do Chrome digitando “chrome: // settings“Na barra de endereço.Na página de configurações, role para baixo até ver o hiperlink "Avançado". CliqueLearn WebGL without any library? : r/webgl - Reddit
For many years, I have wanted to port vZome to the web.The primary reason for this is that the web browser is now the truly universal platform,and an increasingly capable and standardize one, at that.A secondary reason is the steady erosion of the viability of Java desktop applications,for various reasons.This document captures my history of experimentation with web technologies,always with the goal of porting vZome. A strong requirement has always been tocontinue to support opening existing vZome files, even if the web version of vZomeadopts a very different user experience.3D in the WebMy earliest efforts, starting in 2012, focused on learning aboutWebGL, the browser standard for 3D graphics.One of my first attempts just uses bare WebGL JavaScript code torender a Zome ball or any of several othervZome shapes exported as JSON, such as a short purple strut.I don’t seem to have any source code for this app saved anywhere, except where it is served on vzome.com. First Zome ball rendering using WebGL First purple strut rendering using WebGL My next attempt, in 2015, used TDL, a wrapper library around WebGLcreated by Gregg Tavares.The source code for this application is available in GitHub.Here the data is a collection of JSON files exported from vZome.This application includes some primitive user interface elements,buttons to navigate between designs,and one button that opened a DropBox chooser to load additional designs. Zome designs rendered using TDL library As early as 2014, three.js had come to my attention,having already gained a high degree of adoption in the WebGL community.I was also starting to think about replacing desktop vZome,looking into Electron, a framework for building cross-platform desktop apps using web technologies.In 2017 I created this application, a fairly simple first effort with three.js.The source code for this application is also available in GitHub.This project started as a fork. TWGL: A Tiny WebGL helper Library; QTEK: a WebGL graphic library. Four: a slightly higher level graphics API based on WebGL 1.0; TDL: TDL is a low-level library for WebGL apps (see TWGL: A Tiny WebGL helper Library; QTEK: a WebGL graphic library. Four: a slightly higher level graphics API based on WebGL 1.0; TDL: TDL is a low-level library for WebGL apps (see TWGL) KickJS: A WebGL game engine for modern web-browsers; nanogl: webgl micro framework; Alfrid: A WebGL tool set; Medium: Progressive WebGL toolkit for art; PicoGLBuilding WebGL libraries that work with each other in the same webgl
And with WebGL apps. The only tricky part is studying the library and getting over the initial learning curve.Take a peek at the GitHub demos page to see how Cannon.js looks in the browser and why it’s so great.CopperLichtWith a name like CopperLicht you might not know what to expect. But this is a powerful 3D JavaScript rendering engine built solely for web-based JS games.Again it’s 100% open source and free to use for any project. The company that built CopperLicht does have some premium software & tools but these are not necessary for learning the CopperLicht library.In fact, learning all the features will be tough since it supports an array of 3D functions like shadows/lighting, special effects, and 3D page element interactions.The tutorials page is the best place to start and if you take this route be willing to take it slowly. There is a steep learning curve to get CopperLicht under your belt, although the payoff is well worth it.Phoria.jsFor web-based motion and 3D effects on the screen you might try Phoria.js. It’s really more of a graphics library but Phoria is rooted in 3D rendering inside HTML5 canvas elements.The main site runs a bunch of demos and it’s a pretty reasonable library for creating 3D graphics. The learning curve isn’t too tough, and you’ll find a bunch of code snippets on the site that you can copy/paste.Plus it doesn’t even use WebGL, so you don’t need to worry about that library. Although you will need to be comfortable working on the canvas element, but that just comes with practice.Scene.jsFor something that does run on WebGL check out Scene.js. Currently in version 4.2 this massive open source library lets you render elements in 3D for any modern browser.It’s supported by a large team of developers and has years of major updates making it one of the best 3D rendering scripts you can use. However, this calls itself more of a visualization library, so it’s not just for rendering basic graphics.Instead this could be used for much more complex tasks like designing multiple views of objects from different angles,Comments
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.Engines and libraries ⚙️NameStarsLast CommitDescriptionthree.jsJavaScript 3D librarystack.glan open software ecosystem for WebGL, built on top of browserify and npm.PixiJSSuper fast HTML 5 2D rendering engine that uses webGL with canvas fallbackPexPex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser.Babylon.jsa complete JavaScript framework for building 3D games with HTML 5 and WebGLFilamentFilament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGLClayGLA WebGL graphic library helping you to build scalable Web3D applicationsAwayJSAwayJS is a graphics library for javascript written in typescriptSceneJSAn extensible WebGL-based engine for high-detail 3D visualisationBlend4Weba tool for interactive 3D visualization on the InternetPlayCanvasJavaScript game engine built on WebGL and WebVRTurbulenzTurbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices.Hilo3da WebGL Rendering Engine.litesceneA WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio.Two.jsA renderer agnostic two-dimensional drawing api for the web.webgl-operateA TypeScript based WebGL rendering framework.RhodoniteRhodonite Web3D Library in TypeScriptZograA simple WebGL2 renderer.LayaAirLayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.libGDXDesktop/Android/HTML5/iOS Java game development framework.LittleJSLittleJS is a HTML5 game engine with many features and no dependencies.Galacean EngineA typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF.NameStarsLast CommitDescriptiondawnDawn, a WebGPU implementationwgpuSafe and portable GPU abstraction in Rust, implementing WebGPU API.RedGPURedGPU - Javascript webGPU Enginesokol3D-API wrapperwgpuNative WebGPU implementation based on gfx-haldgelA WebGPU engine.YUEPersonal WebGPU based 3D renderer.Simple-GPUFunctional WebGPU.VelloAn experimental GPU compute-centric 2D renderer.GWebGPUEngineA WebGPU Engine for real-time rendering and GPGPU.OrillusionOrillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.SWGPUA complete, fast and fun web game engine with examples.XGPUa higher-level, easy-to-use interface for building rendering engines or processing numeric data.webgpu-rendererA simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.pointsA Generative Art library made in WebGPUWebGPU RaytracerRealtime path tracing via WebGPU compute shadersWebGPU-KitA minimal webGPU toolkit for rendering and compute pipelinesshadeupA language for WebGPU that makes writing shaders easierSundown EngineWebGPU game engine for fun and games.CobaltWebGpu 2D renderer.Toolkits and micro frameworks 🧰NameStarsLast CommitDescriptionreglFast functional WebGLlightgl.jsA lightweight WebGL libraryTWGLA Tiny WebGL helper Libraryp5.jsa new interpretation of Processing, not an emulation or port.Foura slightly higher level graphics API based on WebGL 1.0TDLTDL is a low-level library for WebGL apps (see TWGL)KickJSA WebGL game engine for modern web-browsersnanoglwebgl micro frameworkAlfridA WebGL tool setMediumProgressive WebGL toolkit for artPicoGL.jsA minimal WebGL 2-only rendering libraryO-GLMinimal WebGL frameworkmini-webglMini toy WebGL libraryphenomenon-pxThe fastest way to create pixel shaders.zen-3dJavaScript 3D library.GLOWGLOW is a WebGL wrapper, which focuses on easy creation and use of shaders.HelixA
2025-04-18Javascript 3D engine.GrimoireJSA WebGL framework for Web development.litegl.jsLightweight Javascript WebGL library for handling Context, Meshes, Textures and Shaders.CraZyPGlowlevel webgl2.0 libraryGLBoostA Useful WebGL Library for Small TurningRedCube.jsWebGL2 rendering library.RedGL2RedGL - JavaScript 3D librarygi-voxelsWebGL Voxel Cone TracingartglTypeScript 3D framework. Building blocks & infrastructure for Web 3D application.Squareroot.jsA 2d/3d engine for WebGL and Canvas rendering and animationgl3webgl helper librarywwgSimple WebGL wrapperglTipsUseful, cherry-pickable, and CC0 (public domain like) licensed WebGL routine code snippets.dan-shari-glminimum webgl framework developed with TypeScripthwoa-rang-glLightweight WebGL Library written in TypescriptdesenhaA barebones WebGL framework.Tmp3DA 3-D software renderer written from scratch in nothing but JavaScriptopusglA minimal rendering library.feng3dTypeScript 3D engine built on WebGL.swissglSwissGL is a minimalistic wrapper on top of WebGL2 JS API.fourMinimal three.js alternative.gliiObject-oriented understandable WebGL.foam-glA WebGL toolkit.Path Tracing ☈NameStarsLast CommitDescriptionSnellyA system for physically-based SDF (signed distance field) pathtracing in WebGLAshesWebGL2.0 3D Engine & ECS & RayTracingTools build on top of... 🏘️NameStarsLast CommitDescriptionWhitestormJSSuper-fast 3D framework for Web Applications & Games. Based on Three.jsPhaserPhaser is a fast, free, and fun open source HTML5 game framework. It uses a custom build of Pixi.js.OSG.jsJavascript Implementation of OpenSceneGraphAmmo.jsDirect port of the Bullet physics engine to JavaScript using Emscriptengl-enginean experimental ES6 WebGL engine built on stack.glGLAMglam (GL A nd M arkup) is a declarative language for creating 3D web content.potreeWebGL point cloud viewer for large datasetsplotly.jsBuilt on top of d3.js and stack.gl, plotly.js is a high-level, declarative charting library.threeifythreeify is a Typescript 3D library loosely based on three.js.ROYGBIVA 3D engine for the Webshreelite three.jsTaroA lightweight 3D game engine for the web.Alien.jsAlien.js is a MVC design pattern for building single-page applications with ES modules and three.js, intended for developers who are interested in creating their own shaders.gpu-ioA GPU-accelerated computing library for physics simulations and other mathematical calculationsenable3dStandalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3ThreePipeA 3D viewer framework built on top of three.js with a focus on rendering, modularity and extensibility.BrainchopIn-browser 3D MRI rendering and segmentation.lgl-tracerLGLTracer is a web ray tracing renderer, implemented as a plug-in library on top of Threejs.Maps and visualizations 🗺️NameStarsLast CommitDescriptionMapbox GL JSInteractive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL.Deck.glWebGL based visualization layersLumaGLA JavaScript WebGL Framework for Data VisualizationCesiumOpen-source library for world-class 3D globes and maps.xeoglA data-driven 3D visualization engine on WebGLPhiloGLA WebGL Framework for Data Visualization, Creative Coding and Game DevelopmentMathBoxPresentation-quality WebGL math graphingVTKVisualization Toolkit for the WebApache EChartsA powerful, interactive charting and data visualization library for browserTroikaA JavaScript framework for interactive 3D and 2D visualizations@antv/gA powerful rendering engine for AntV implemented with Canvas2D / SVG / WebGL / WebGPU.VR 🥽NameStarsLast CommitDescriptionA-FrameA web framework for building virtual reality experiences.PlayCanvasJavaScript game engine built on WebGL and WebVRWebAssembly 🟪NameStarsLast CommitDescriptionGLASWebGL in WebAssembly with AssemblyScriptWebRaysRay Tracing on the WebmuglMicro WebGL 2.0 3D Graphics Library for
2025-04-13SpectorJSSummaryExplore and Troubleshoot your WebGL scenes (All engines and Vanilla script support) with ease.Spector is a tool aimed at WebGL developers wanting to know what happens in their context. It enables capturing of all the available information from a frame. You will be able to look at your entire commands list with their associated visual states and context information.This can be used either as a browser extension or directly from your page with a Standalone Version. Table of ContentWhyBrowser extensionUse as a ModuleWebpack sampleUse as a Script ReferenceCDNFrom the repositoryNode_ModulesHow To ReferenceBasic usageCustom dataAvailable APIsBuild LocallyContributeChangeLogLearn WebGlWhyBack to topAs a core member of the BabylonJS team I often found the need to debug what was happening to my webgl context. I was a huge fan of webgl inspector until we introduced WebGL2 in Babylon. As the WebGL community as a whole is our focus, I thought it would be great to share an extension compatible with all the Webgl/Webgl2 engines available.You can use the library inside of your own application easily as it is transpiled as a UMD module. It will either work as a script reference or with your favorite bundling tools like webpack.Browser extensionBack to topIf you are willing to use the browser extension, you can direclty install it from the store:ChromeFirefoxYou can find on Real Time Rendering a complete tutorial about the Spector extension. Else, you can refer to the extension documentation to learn how to use it.Or you can take a look at the following documentation to load it from the source: Browser Extension. Use as a ModuleBack to topIn order to install the library in your application directory, please type the following command on a command line prompt open on the application directory:From this point you are all set to use it in your app.Webpack sampleBack to topAs a quick demo, here is a simple way to use the spector module with webpack.Please follow the instructions below to create a new directory and install the required tools:mkdir samplecd samplenpm initnpm install webpack --save-devnpm install spectorjs --save-devFollowing the HelloWorld example from Webpack, you can now create it in the sample folder:A js file named entry.js containing the following code:var SPECTOR = require("spectorjs");var spector = new SPECTOR.Spector();spector.displayUI();And an html file named index.js containing the following code: ">html> head> head> body> script type="text/javascript" src="bundle.js" charset="utf-8">script> body>html>Now your application is ready. Go back to your command line and bundle the javascript file:webpack entry.js bundle.jsYou are all set. You can open your index.html file and see the inspector running. It obviously won't be that usefull on an empty page but at least you get the integration idea.Use as a Script ReferenceBack to topCDNFeel free to leverage the jsDeliver CDN to use the library from your own projets: you prefer to host your own version, the library is available in the dist folder of the repo.node_modulesIf you used npm to install the library you can find the spector.bundle.js file in the node_module/spectorjs/dist folder.How To ReferenceSimply add the following tag in your
2025-03-29