Friday, January 29, 2010

Project Introduction

The Lively 3D project aims for the development of a compelling 3D mashup environment. The main objective of the project is to create an efficient, interactive platform for three-dimensional rendering of web content, including the associated programming infrastructure to enable the development of 3D mashware in a consistent, integrated fashion. The Lively 3D system will be developed using JavaScript, Ajax and Qt.

Lively 3D builds upon our earlier experiences in creating the Lively Kernel, a dynamic programming environment embedded in a web page, and Lively for Qt, our implementation of a similar environment for Qt.

Project Background

Previous 3D user interfaces and mashups

Several examples of 3D user interfaces and mashups implemented with Web technologies are already available:

Relevant Implementation Technologies

WebGL (https://www.khronos.org/webgl/) is a standard specification that is currently being developed to enable 3D graphics support in web browsers. WebGL will enable hardware-accelerated rich 3D graphics in web pages without the need for special browser plug-ins, on any platform that supports OpenGL or OpenGL ES. From the technical viewpoint, WebGL is a JavaScript binding to a native OpenGL ES 2.0 implementation. For further information, see http://en.wikipedia.org/wiki/WebGL.

Qt (http://www.qtsoftware.com/) is a mature, well-documented cross-platform application development framework and platform that has been under development since the early 1990s. Qt supports a rich set of APIs, widgets and tools that run on most commercial software platforms. While Qt is intended primarily for C++ developers, Qt API bindings are available also for developing applications in JavaScript™ and in the Java™ programming language. Interestingly, Qt libraries include a complete web browser (based on WebKit), as well as a fully functional JavaScript engine and debugger.