List of WebGL frameworks

Last updated

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.

NameScriptingModelingAnimationIntegrated AudioIntegrated PhysicsCloud-IndependentWebGL Implementation (Version)WebXRImportExportLicenseNotes and references
A-Frame JavaScript, HTML NoYesYesNoYesNative (1.0 and 2.0)YesglTF, 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 NoYesYesYesYes Flash transpiled (1.0)No 3ds Max, COLLADA No Apache License 2.0TypeScript/JavaScript adaptation of the Away3D engine built in Flash.
Babylon.js JavaScript, TypeScript NoYesYesYesYesNative (1.0 and 2.0)YesBabylon, glTF, OBJ, STL [2] glTF Apache License 2.0JavaScript framework for building 3D games with HTML 5 and WebGL.
Clara.io JavaScript, REST API YesYesNoYesNoNative (1.0 and 2.0)YesOBJ, FBX, Blender, STL, STPOBJ, 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 NoYesYesYesYesNative (1.0)NoNoNo 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 NoYesYesYesYesNative (1.0)YesOBJ, COLLADA, glTF, FBX, STL, PLY, VRMLHTML, XML, JSON MIT License An open-source WebXR client for collaborative 3D world building and exploration.
Kubity NoNoNoNoYesNo .NET transpiled (1.0)NoNoNo 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 NoYesYesNoNoNative (1.0), also implements canvas2DNoFBXNo 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 NoYesYesNoYesNative (1.0)YesNoNo MIT Open-source WebGL framework based on OpenSceneGraph concepts.
PlayCanvas JavaScript NoYesYesYesPartiallyNative (1.0 and 2.0)YesDAE, DXF, FBX, glTF, OBJNo 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 NoYesYesNoNoNative (1.0 and 2.0)Yes3DC, 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 NoYesYesNoYesNative (1.0 and 2.0)YesglTF, USDZ, DRACO, FBX, OBJ, STL, MMD, PRWM, PCD, PDB, LDraw, 3DM, COLLADA, VRMLglTF, 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# YesYesYesYesYes .NET transpiled to Wasm (1.0 and 2.0)Yes [4] FBX, OBJ, DAE, glTF, STLNo Proprietary Offers a WebGL build option since version 5. [5]
Verge3D JavaScript YesYesYesYesYesNative (1.0 and 2.0)YesglTF, USDZ, FBX, OBJ, STLglTF, USDZ Proprietary Artist-friendly WebGL framework with Blender, 3ds Max, and Maya integrations.

See also

Related Research Articles

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.

<span class="mw-page-title-main">Quake Army Knife</span> 3D asset developing program

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.

<span class="mw-page-title-main">OpenSceneGraph</span>

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.

<span class="mw-page-title-main">Blender Game Engine</span> Discontinued game engine

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.

<span class="mw-page-title-main">Unity (game engine)</span> Cross-platform video game and simulation engine

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.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

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.

<span class="mw-page-title-main">Three.js</span> JavaScript library for 3D graphics

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.

<span class="mw-page-title-main">Godot (game engine)</span> Cross-platform, open-source game engine

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.

<span class="mw-page-title-main">PlayCanvas</span>

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 3D scene and model file format

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."

<span class="mw-page-title-main">Phaser (game framework)</span> Cross-platform JavaScript video game framework

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.

References

  1. 3D Models – A-Frame
  2. Loading Any File Type | Babylon.js Documentation
  3. 3D File Formats Sketchfab.com
  4. "Bringing WebXR to Unity 3D". Rufus31415.
  5. "Unity 5 Ships and Brings One Click WebGL Export to Legions of Game Developers". The Mozilla Blog. Retrieved 2015-06-16.