O3D
   HOME

TheInfoList



OR:

O3D is an open-source (
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
)
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
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 ...
O3D Project Page
from Google Code
created by
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
for creating interactive
3D graphics 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 ...
applications that run in a
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 ...
window or in a
XUL XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
desktop application. O3D may be crafted for use in any application area; however, it is geared towards games, advertisements, 3D model viewers, product demos, simulations, engineering applications, control and monitoring systems, and massive online
virtual world A virtual world (also called a virtual space) is a computer-simulated environment which may be populated by many users who can create a personal avatar, and simultaneously and independently explore the virtual world, participate in its activities ...
s. O3D is currently in Google's incubation lab, and was originally built as a web browser plugin. Since 2010, O3D is a JavaScript library implemented on top of
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 ...
. O3D is viewed as bridging the gap between desktop-based 3D accelerated graphics applications and
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaSc ...
-based web browsers. Proponents assert that creating a full-featured 3D graphics engine that can be downloaded and run through web browsers may eliminate the need to install large applications on a local desktop computer. This allows O3D to maximize reusability amongst application resources, while providing a robust interface to the client's CPU and
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
using JavaScript. Originally, O3D used a plug-in based architecture which allowed 3rd party developers to integrate custom functionality, such as pre- and post-render effects,
particle system A particle system is a technique in game physics, motion graphics, and computer graphics that uses many minute sprites, 3D models, or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to repr ...
s, and
physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
s. Because the plugin was written in C, it communicated directly with hardware; thus, the speed of scene rendering was largely dependent on the GPU of the computer rendering it. Now, much of this same functionality is built into
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 ...
. The main advantage O3D has over alternative desktop or console based 3D rendering engines is that O3D may load, render, and transform models and their respective textures dynamically, using
AJAX Ajax may refer to: Greek mythology and tragedy * Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea * Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris * ''Ajax'' (play), by the ancient Gree ...
and/or
COMET A comet is an icy, small Solar System body that, when passing close to the Sun, warms and begins to release gases, a process that is called outgassing. This produces a visible atmosphere or coma, and sometimes also a tail. These phenomena ...
in real time. Traditional compilation of source code, application resources, and object libraries are no longer necessary, since all of these are loaded in real time. These remote resources may be designed, developed, and maintained outside the core rendering or viewing application within a typical
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of p ...
MVC application. This makes developing rich 3D application easier because they do not need to be recompiled per resource changes, allowing for a more robust and distributive approach when designing 3D applications. On May 7, 2010, Google announced that O3D would be changing from a plugin to a JavaScript library running on top of WebGL.


See also

*
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 ...
- An open standard for showing hardware accelerated 3D graphics with
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
*
VRML VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
and
X3D 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 Re ...
- Open standard from
Web3D Consortium Web3D Consortium is an international not-for-profit, member-funded industry consortium, originally founded in 1997. Web3D Consortium members from governmental, nonprofit and research organizations worldwide, including working alongside individu ...
*
List of WebGL frameworks 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. See also * WebGL * ...


References

{{Reflist


External links


O3D Developers' Site

GWT-O3D Developers' Site



Trimble 3D Warehouse (Online 3D Model Repository)

Trimble SketchUp (3D Modeler)

A free 3D content importer/editor/publisher for creating O3D scenes

Google I/O 2009 - Developing On O3D: View From The Trenches YouTube video

Sophos Security: Researcher rewarded over $30,000 for finding 3 security flaws in O3D
Application programming interfaces Free 3D graphics software Software using the BSD license