Skip to content

ariyapour/xml3d.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xml3d.js

Build Status

XML3D

xml3d.js is a XML3D implementation based on WebGL and JavaScript. The aim of XML3D is to make the development of 3D-Web applications as easy as developing web pages. Every web developer who knows how to use the DOM (or jQuery) should also be able to use XML3D.

XML3D is also an evaluation platform of the W3C Community Group Declarative 3D for the Web

Examples

Usage

Download the library and include it in your xhtml.

<script src="http://www.xml3d.org/xml3d/script/xml3d.js"></script>

If a standard navigation mode is sufficient for your web application, you can include the camera controller that comes with xml3d.js:

<script src="http://www.xml3d.org/xml3d/script/xml3d.js"></script>
<script src="http://www.xml3d.org/xml3d/script/tools/camera.js"></script>

Testing

We have an extensive test suite and some known issues.

How to build

Dependencies

You will need node.js. Then install grunt:

npm install -g grunt-cli
Clone

Clone a copy of the main xml3d.js git repo by running:

git clone git://github.com/xml3d/xml3d.git
Build

Enter the xml3d.js directory and run the build script:

cd xml3d.js && npm run build

The built version of xml3d.js will be put in the build/output/ subdirectory. Alternatively you have several grunt tasks that you can run directly (e.g. grunt min). Run grunt --help to get a list of available grunt tasks.

Documentation

We have an overview documentation in each subfolder of the project:

  • build - The build system of xml3d.js.
  • src - The actual source code of the xml3d.js library
  • tests - The test suite
  • tools - Several tools that can be used optionally with xml3d.js

Change log

4.9 - 31.03.2014

4.8 - 18.12.2014

4.7 - 17.10.2014

4.6 - 15.04.2014

4.5 - 14.11.2013

  • Full support for HTML encoding, all demos in HTML now
  • Set data values efficiently using TypedArray - demo, doc
  • Override shader attributes on a per-object basis - demo
  • Improved Error Messages
  • Reuse of Xflow graphs using new <dataflow> element - demo, doc
  • Many performance improvements, e.g. Frustum Culling and Paging
  • Support for mult-touch events
  • Dynamic near/far clip planes that adapt to scene size
  • #24: WebWorker support for MeshLoader plug-ins - demo
  • #25: Smarter handling of cached resources

4.4 - 23.04.2013

  • Image Processing with Xflow (also as standalone library) - demo
  • Transformations as Xflow sink
    • Augemented Reality (AR) - demo
    • Keyframe animations
  • Generalized resources for meshes, shaders, etc.
  • Xflow API: Observer Xflow graph from JavaScript
  • Canvas resizing demo
  • Issues: Fixed #2, Fixed #3

4.3 - 18.12.2012

  • Xflow support, including
  • External references in XML format - demo
  • 'onload' event for <xml3d> element
  • Support for video textures - demo
  • Support to use a webcam stream as video texture via WebRTC API - demo
  • Support of spot lights - demo
  • Support of CSS 3D Transforms in style attribute - demo
  • Improved debug output

4.2 - 14.09.2012

  • Hardware accelerated object picking expanded to 16,7 mio objects
  • Emissive texture map support in diffuse and phong shader - demo
  • Specular map support in phong shader - demo
  • New mechanism for custom shaders - demo
  • Support of directional lights (finally) - demo
  • Support of external data resources in JSON format - demo
  • New mechanism to register loaders for external formats - demo

4.1 - 19.07.2012

  • Initial release on GitHub

About

The WebGL/JS implementation of XML3D

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.5%
  • HTML 5.4%
  • Other 0.1%