Frameworks are available to create WebGL content quickly and easily without building from the ground up.
Note: The following list mixes WebGL libraries with game engines as well as cloud services without any distinctions.
Name | Scripting | Modeling | Animation | Integrated Audio | Integrated Physics | Cloud-Independent | WebGL Implementation (Version) | WebXR | Import | Export | License | Notes and references |
---|---|---|---|---|---|---|---|---|---|---|---|---|
A-Frame | JavaScript, HTML | No | Yes | Yes | No | Yes | Native (1.0 and 2.0) | Yes | glTF, OBJ. More with community components. [1] | No | MIT License | An open-source WebXR framework for building 3D and VR experiences with HTML and Entity component system ecosystem. |
Away3D | TypeScript | No | Yes | Yes | Yes | Yes | Flash transpiled (1.0) | No | 3ds Max, COLLADA | No | Apache License 2.0 | TypeScript/JavaScript adaptation of the Away3D engine built in Flash. |
Babylon.js | JavaScript, TypeScript | No | Yes | Yes | Yes | Yes | Native (1.0 and 2.0) | Yes | Babylon, glTF, OBJ, STL [2] | glTF | Apache License 2.0 | JavaScript framework for building 3D games with HTML 5 and WebGL. |
Clara.io | JavaScript, REST API | Yes | Yes | No | Yes | No | Native (1.0 and 2.0) | Yes | OBJ, FBX, Blender, STL, STP | OBJ, FBX, Blender, STL, Babylon.js, Three.js | Freemium or commercial | Web-based freemium 3D computer graphics software developed by Exocortex, a Canadian software company. |
CopperLicht | JavaScript | No | Yes | Yes | Yes | Yes | Native (1.0) | No | No | No | Open source based on zlib | An open source JavaScript library/API for creating games and interactive 3D applications using WebGL, developed by Ambiera. |
JanusWeb | JavaScript | No | Yes | Yes | Yes | Yes | Native (1.0) | Yes | OBJ, COLLADA, glTF, FBX, STL, PLY, VRML | HTML, XML, JSON | MIT License | An open-source WebXR client for collaborative 3D world building and exploration. |
Kubity | No | No | No | No | Yes | No | .NET transpiled (1.0) | No | No | No | Proprietary | Kubity is an online platform that offers various ways of displaying, exploring and sharing 3D models on Web browser and mobile devices. |
LayaAir | ActionScript 3.0, JavaScript, TypeScript | No | Yes | Yes | No | No | Native (1.0), also implements canvas2D | No | FBX | No | Open source (engine), Proprietary (model conversion) | Open-source API for games and multimedia routines modules. Display animation on Web browser and mobile devices. |
OSG.JS | JavaScript | No | Yes | Yes | No | Yes | Native (1.0) | Yes | No | No | MIT | Open-source WebGL framework based on OpenSceneGraph concepts. |
PlayCanvas | JavaScript | No | Yes | Yes | Yes | Partially | Native (1.0 and 2.0) | Yes | DAE, DXF, FBX, glTF, OBJ | No | MIT (engine), proprietary (cloud-hosted editor) | Open-source 3D game engine alongside a proprietary cloud-hosted creation platform that allows for editing via a browser-based interface. |
Sketchfab | JavaScript | No | Yes | Yes | No | No | Native (1.0 and 2.0) | Yes | 3DC, 3DS, AC, ABC, OBJ, BVH, Blender, GEO, DAE, DWF, DW, X, DXF, FBX, OGR, GTA, glTF, IGS, MU, CRAFT, KMZ, LAS, LWO, Q3D, MC2OBJ, FLT, IV, OSG, PLY, BSP, MD2, MDL, SHP, STL, TXP, VPK, WRL, VRML [3] | No | Proprietary | A website used to display and share 3D content online. |
Three.js | JavaScript | No | Yes | Yes | No | Yes | Native (1.0 and 2.0) | Yes | glTF, USDZ, DRACO, FBX, OBJ, STL, MMD, PRWM, PCD, PDB, LDraw, 3DM, COLLADA, VRML | glTF, USDZ OBJ, PLY, STL, COLLADA | MIT | A cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. |
Unity | C# | Yes | Yes | Yes | Yes | Yes | .NET transpiled to Wasm (1.0 and 2.0) | Yes [4] | FBX, OBJ, DAE, glTF, STL | No | Proprietary | Offers a WebGL build option since version 5. [5] |
Verge3D | JavaScript | Yes | Yes | Yes | Yes | Yes | Native (1.0 and 2.0) | Yes | glTF, USDZ, FBX, OBJ, STL | glTF, USDZ | Proprietary | Artist-friendly WebGL framework with Blender, 3ds Max, and Maya integrations. |
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is similar to the term "software engine" used in the software industry.
X3D is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).
Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For multiplayer games, knowledge of network programming is required. In some genres, e.g. fighting games, advanced network programming is often demanded, as the netcode and its properties are considered by players and critics to be some of the most important metrics of the game's quality. For massively multiplayer online games (MMOGs), even further knowledge of database programming and advanced networking programming are required. Though often engaged in by professional game programmers, there is a thriving scene of independent developers who lack a relationship with a publishing company.
Quake Army Knife, is a free and open-source program for developing 3D assets for a large variety of first-person shooters, such as video games using the Quake engine by id Software or the Torque engine.
OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.
COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.
The Blender Game Engine was a free and open-source 3D production suite used for making real-time interactive content. It was previously embedded within Blender, but support for it was dropped in 2019, with the release of Blender 2.8. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.
Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console and virtual reality platforms. It is particularly popular for iOS and Android mobile game development, is considered easy to use for beginner developers, and is popular for indie game development.
Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
A Game Engine is a specialized development environment for creating video games. The features one provides depends on the type and the granularity of control allowed by the underlying framework. Some may provide diagrams, a windowing environment and debugging facilities. Users build the game with the game IDE, which may incorporate a game engine or call it externally. Game IDEs are typically specialized and tailored to work with one specific game engine.
Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub.
CopperLicht is an open-source JavaScript library for creating games and interactive 3D applications using WebGL, developed by Ambiera. The aim of the library is to provide an API for making it easier developing 3D content for the web. It is supposed to be used together with its commercial 3D world editor CopperCube, but it can also be used without.
Godot is a cross-platform, free and open-source game engine released under the permissive MIT license. It was initially developed by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.
PlayCanvas is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in modern browsers that support WebGL, including Mozilla Firefox and Google Chrome. The engine is capable of rigid-body physics simulation, handling three-dimensional audio and 3D animations.
Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.
glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers. An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D."
Phaser is a 2D game framework used for making HTML5 games for desktop and mobile. It is free software developed by Photon Storm.
8XR is a browser-based game engine for building immersive experiences and 3D games with HTML and Entity component system ecosystem. The engine combines graphic builder tool and visual scripting.