List Of 3D Graphics Libraries
   HOME

TheInfoList



OR:

3D graphics have become so popular, particularly in
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s, that specialized
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s (application programming interfaces) have been created to ease the processes in all stages of computer graphics generation. These APIs have also proved vital to computer graphics hardware manufacturers, as they provide a way for programmers to access the hardware in an abstract way, while still taking advantage of the special hardware of any specific graphics card. The first 3D graphics framework was probably
Core Core or cores may refer to: Science and technology * Core (anatomy), everything except the appendages * Core (manufacturing), used in casting and molding * Core (optical fiber), the signal-carrying portion of an optical fiber * Core, the centra ...
, published by the ACM in 1977.


Low-level 3D API

These APIs for 3D computer graphics are particularly popular: * Direct3D (a subset of DirectX) *
Glide Glide may refer to: * Gliding flight, to fly without thrust Computing *Glide API, a 3D graphics interface *Glide OS, a web desktop *Glide (software), an instant video messenger *Glide, a molecular docking software by Schrödinger (company), Schr ...
* Mantle developed by AMD. *
Metal A metal (from Greek μέταλλον ''métallon'', "mine, quarry, metal") is a material that, when freshly prepared, polished, or fractured, shows a lustrous appearance, and conducts electricity and heat relatively well. Metals are typicall ...
developed by Apple. * OptiX 7.0 and Latest developed by NVIDIA. * OpenGL and the
OpenGL Shading Language OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipelin ...
*
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
3D API for embedded devices *
QuickDraw 3D QuickDraw 3D, or QD3D for short, is a 3D graphics API developed by Apple Inc. (then Apple Computer, Inc.) starting in 1995, originally for their Macintosh computers, but delivered as a cross-platform system. QD3D was separated into two layers ...
developed by Apple Computer starting in 1995, abandoned in 1998 *
RenderMan The name RenderMan can cause confusion because it has been used to refer to different things developed by Pixar Animation Studios: * RenderMan Interface Specification (RISpec), an open API (technical specification) developed by Pixar for a standar ...
*
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
* LibGCM *
ANGLE In Euclidean geometry, an angle is the figure formed by two rays, called the '' sides'' of the angle, sharing a common endpoint, called the '' vertex'' of the angle. Angles formed by two rays lie in the plane that contains the rays. Angles a ...
, web browsers graphics engine, a cross-platform version of the OpenGL wrapper for the web


Web-based API

*
WebGL WebGL (Short for Web Graphics Library) 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-accelera ...
is a JavaScript interface for OpenGL-ES-2.x API, promoted by
Khronos Khronos may refer to: * ''Khronos'' (Maktub album) * ''Khronos'' (Rotting Christ album) *'' Khronos (game)'', a board game *Khronos Group, an open standards consortium *Chronos, the personification of time in Greek mythology. See also *Chronos (d ...
. This is gaining more interest recently, as this enables web applications to use native graphics.


High-level 3D API

There are also higher-level 3D scene-graph APIs which provide additional functionality on top of the lower-level rendering API. Such libraries under active development include:
BGFX
*
ClanLib ClanLib is a video game SDK, supporting Microsoft Windows, macOS, and Linux, with partial support for mobile platforms. It has full hardware accelerated graphics support through OpenGL, and also a software renderer. ClanLib also helps in playing ...
*
Crystal Space Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others. The first public release was on August 26, 1997. It is typically used as a game engine but the framework is more general and can be use ...
*
HOOPS 3D Graphics System HOOPS Visualize is a 3D computer graphics designed to render graphics across both mobile and desktop platforms. Features The program features a unified API that allows users to add interactive 3D visualization to both desktop and mobile applicat ...
* Horde3D *
Irrlicht Engine Irrlicht (pronounced in German) is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, X ...
*
Java 3D Java 3D is a scene graph-based 3D application programming interface (API) for the Java platform. It runs on top of either OpenGL or Direct3D until version 1.6.0, which runs on top of Java OpenGL (JOGL). Since version 1.2, Java 3D has been deve ...
*
Java FX JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Li ...
*
JMonkey Engine jMonkeyEngine (abbreviated JME) is a game engine for developing 3D games written in Java. It uses shader technology extensively and can be used to write games for Windows, Linux, macOS, Raspberry Pi, and Android. It uses Lightweight Java Ga ...
* JT Open from
Siemens Digital Industries Software Siemens Digital Industries Software (formerly UGS and then Siemens PLM Software) is an American computer software company specializing in 3D & 2D Product Lifecycle Management (PLM) software. The company is a business unit of Siemens, operates u ...

magnum
*
Mobile 3D Graphics API The Mobile 3D Graphics API, commonly referred to as M3G, is a specification defining an API for writing Java programs that produce 3D computer graphics. It extends the capabilities of the Java ME, a version of the Java platform tailored for e ...
(M3G; JSR-184) *
OGRE An ogre (feminine: ogress) is a legendary monster depicted as a large, hideous, man-like being that eats ordinary human beings, especially infants and children. Ogres frequently feature in mythology, folklore, and fiction throughout the world ...
*
OpenGL Performer {{unreferenced, date=September 2009 OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is a commercial library of utility code built on top of OpenGL for the purpose of enabling hard real-time visual sim ...
*
OpenSceneGraph OpenSceneGraph is an open-source 3D graphics application programming interface (library or framework), used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling. ...
(now obsolete OSG.JS for WebPlatforms) * OpenSG * QSDK
RAMSES
*
RenderWare RenderWare is a video game engine developed by British game developer Criterion Software. Overview Released in 1993, RenderWare is a 3D computer graphics, 3D Application programming interface, API and graphics rendering Game engine#Game middlewa ...
*
Panda3D Panda3D is a game engine that includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Panda3D is free, open-source software under the revised BSD license. Panda3D's intended game-development ...
*
Zea Engine Zea may refer to: Nature * ''Zea'' (plant), a genus of large grasses, including: **'' Zea mays'', commonly known as maize or corn * ''Zea'' (skipper), a genus of butterflies *''Helicoverpa zea'', the corn earworm, a major agricultural pest *ZEA ...
*
Unigine UNIGINE is a proprietary cross-platform game engine developed by UNIGINE Company used in simulators, virtual reality systems, serious games and visualization. It supports OpenGL 4, Vulkan and DirectX 12. UNIGINE Engine is a core technology f ...
*
VTK The Visualization Toolkit (VTK) is an open-source software system for 3D computer graphics, image processing and scientific visualization.''Visualization Handbook'', Academic Press, 2005, Chapter 30: the Visualization Toolkit/ref> VTK is distrib ...


JavaScript-based engines

There is more interest in
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
based high-level API for 3D graphics engines. Some are: *
A-Frame An A-frame is a basic structure designed to bear a load in a lightweight economical manner. The simplest form of an A-frame is two similarly sized beams, arranged in an angle of 45 degrees or less, attached at the top, like an uppercase lette ...
* Blend4Web *
CopperLicht 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 supp ...
*
O3D O3D is an open-source (BSD license) JavaScript APIO3D Project Page
from Google Code
created by StormEngineC *
Three.js 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. Overview Thre ...
*
Babylon.js Babylon.js is a real time 3D engine using a JavaScript library for displaying 3D graphics in a web browser via HTML5. The source code is available on GitHub and distributed under the Apache License 2.0. History and progress It was initially r ...
*
Verge3D Verge3D is a real-time renderer and a toolkit used for creating interactive 3D experiences running on websites. Overview Verge3D enables users to convert content from 3D modelling tools (Autodesk 3ds Max and Blender are currently supported) to ...
*
X3DOM X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual ...
*
Zea Engine Zea may refer to: Nature * ''Zea'' (plant), a genus of large grasses, including: **'' Zea mays'', commonly known as maize or corn * ''Zea'' (skipper), a genus of butterflies *''Helicoverpa zea'', the corn earworm, a major agricultural pest *ZEA ...


Flash-based engines

*
Stage3D Stage3D ( codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to rend ...
in the 3D library in Flash version 11 and later *
Papervision3D Papervision3D is an open-source, 3D graphics engine for rendering 3D content within Adobe Flash Player and Adobe AIR. Unlike modern Flash 3D engines such as Away3D and Flare3D, Papervision3D is not built for Stage3D and renders 3D content fully o ...
and its fork
Away3D Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor (Away Builder),
for Flash


See also

*
Graphics library A graphics library is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and runn ...
* Game engine *
3D computer graphics software 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
{{DEFAULTSORT:3D graphics libraries Computing-related lists Lists of software