3D graphics have become so popular, particularly in
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s, that specialized
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
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
programmer
A programmer, computer programmer or coder is an author of computer source code someone with skill in computer programming.
The professional titles Software development, ''software developer'' and Software engineering, ''software engineer' ...
s to access the hardware in an abstract way, while still taking advantage of the special hardware of any specific
graphics card
A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
.
The first 3D graphics framework was probably
Core
Core or cores may refer to:
Science and technology
* Core (anatomy), everything except the appendages
* Core (laboratory), a highly specialized shared research resource
* Core (manufacturing), used in casting and molding
* Core (optical fiber ...
, published by the ACM in 1977.
Low-level 3D API
These APIs for 3D computer graphics are particularly popular:
*
ANGLE
In Euclidean geometry, an angle can refer to a number of concepts relating to the intersection of two straight Line (geometry), lines at a Point (geometry), point. Formally, an angle is a figure lying in a Euclidean plane, plane formed by two R ...
, web browsers graphics engine, a cross-platform translator of OpenGL ES calls to DirectX, OpenGL, or Vulkan API calls.
*
Direct3D
Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
(a subset of
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
)
*
Glide a defunct 3D graphics API developed by
3dfx Interactive
3dfx Interactive, Inc. was an American computer hardware company headquartered in San Jose, California, founded in 1994, that specialized in the manufacturing of 3D graphics, 3D graphics processing units, and later, video cards. It was a pionee ...
.
*
Mantle developed by AMD.
*
Mesa
A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
*
Metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
developed by Apple.
*
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
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 pipeli ...
*
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-accelerate ...
3D API for embedded devices.
*
OptiX 7.0 and Latest developed by NVIDIA.
*
LibGCM
*
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 Apple Macintosh, Macintosh computers, but delivered as a cross-platform system.
QD3D was separated ...
developed by Apple Computer starting in 1995, abandoned in 1998.
*
Vulkan
Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
developed by Khronos Group
Web-based API
*
WebGL
WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
is a JavaScript interface for OpenGL ES API, promoted by
Khronos.
*
WebGPU
WebGPU API is a JavaScript, Rust, C++, and C API for cross-platform efficient graphics processing unit (GPU) access. Using a system's underlying Vulkan, Metal, or Direct3D 12 technologies, WebGPU allows for graphics processing, games, and mor ...
is a newer and more efficient API for JavaScript, Rust, C++ and C. It is not yet fully supported by all browsers (se
Implementation Status.
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:
Ab4d.SharpEngine*
ArkGraphics 3D
HarmonyOS (HMOS) ( zh, s=鸿蒙, p=Hóngméng, tr=Vast Mist) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a microkernel design wit ...
BGFX*
ClanLib
ClanLib is a video game Software development kit, 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. ClanL ...
*
Crystal Space
Crystal Space is an unmaintained 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 gener ...
*
HOOPS 3D Graphics System
HOOPS Visualize is a 3D computer graphics software designed to render graphics across both mobile and desktop platforms. HOOPS Visualize provides 3D Graphics API to render CAD models. It's part of the HOOPS 3D Application Framework SDK. Since Jun ...
*
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 FX
*
JMonkey Engine
*
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 un ...
*
LibGDX
magnum*
Mobile 3D Graphics API (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
OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is an application development environment. It is a commercial library of utility code built on top of OpenGL for the purpose of enabling Real-time comp ...
*
OpenSceneGraph (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 was a 3D API and graphics rendering engine used in video games, Active Worlds, and some VRML browsers. RenderWar ...
*
Panda3D
Phoenix EngineSynkro*
Unigine
*
VTK
WPF 3D(part of
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.
Originally developed by Microso ...
)
*
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, ...
JavaScript-based engines
There is more interest in
web browser
A web browser, often shortened to browser, is an application 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 scr ...
based high-level API for 3D graphics engines. Some are:
*
A-Frame
An A-frame is a basic structure designed to bear a Structural load, load in a lightweight economical manner. The simplest form of an A-frame is two similarly sized Beam (structure), beams, arranged in an angle of 45 degrees or less, attached a ...
*
Blend4Web
Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.
Overview
The Blend4Web framework leverages Blender to edit 3D scenes. Content rendering relies on WebGL, Web Audio, W ...
*
CopperLicht
*
O3D
*
Three.js
*
Babylon.js
*
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 (Blender, 3ds Max, and Maya are currently supported) to v ...
*
X3DOM
*
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 render ...
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 fu ...
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 or graphics API 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 ...
*
Game engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
*
3D computer graphics software
3D computer 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 the purposes of perfor ...
{{DEFAULTSORT:3D graphics libraries
Computing-related lists
Lists of software