Skip to content
Surf Wiki
Save to docs
general/application-programming-interfaces

From Surf Wiki (app.surf) — the open knowledge base

O3D


FieldValue
nameO3D
screenshotO3D Beach Demo.png
captionA screenshot from the Beach Demo used by Google to demonstrate O3D's capabilities
latest release date
operating systemCross-platform
programming languageJavaScript
genreJavaScript API
licenseBSD license
website

O3D is an open-source (BSD license) JavaScript API created by Google for creating interactive 3D graphics applications that run in a web browser window or in a XUL 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 worlds. 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.

O3D is viewed as bridging the gap between desktop-based 3D accelerated graphics applications and HTML-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 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 systems, and physics engines. 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.

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 and/or COMET 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 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.

References

References

  1. "O3D Beach Demo".
  2. [https://code.google.com/p/o3d/ O3D Project Page] from Google Code
  3. [https://arstechnica.com/software/news/2009/04/google-releases-3d-graphics-plugin-for-browsers.ars O3D preview] from Ars Technica
  4. [https://code.google.com/apis/o3d/ O3D Old Plugin Developer's Page] {{Webarchive. link. (2012-03-08 from [[Google Code]])
  5. "The future of O3D".
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about O3D — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report