Three.js

three.jsは、ウェブブラウザ上でリアルタイムレンダリングによる3次元コンピュータグラフィックスを描画する、クロスブラウザ対応の軽量なJavaScriptライブラリおよびAPIである。
HTML5のcanvas要素、Scalable Vector Graphics、WebGLとの組み合わせが可能である。ソースコードはGitHubでホストされている。
WebGLというWeb標準技術の登場により、商用のブラウザ拡張機能に頼らずに、HTMLファイル内に埋め込まれたJavaScriptを介して、GPUアクセラレーションによる動的表現を描画することが可能になった。three.jsは、WebGLのAPIを簡略化するためのラッパである。
例.
ライブラリは単一のJavaScriptファイルであり、以下のようにHTML内でローカルやリモートコピーにリンクすることで動作する。
<script src="js/three.min.js"></script>
以下のコードはcodice_1要素内に、画面上にカメラ、XY軸で回転する立方体、WebGL描画表示域を追加する。
<script>
 var camera, scene, renderer,
 geometry, material, mesh;
 init();
 animate();
 function init() {
 scene = new THREE.Scene();
 camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
 camera.position.z = 1000;
 geometry = new THREE.BoxGeometry( 200, 200, 200 );
 material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
 mesh = new THREE.Mesh( geometry, material );
 scene.add( mesh );
 renderer = new THREE.WebGLRenderer();
 renderer.setSize( window.innerWidth, window.innerHeight );
 document.body.appendChild( renderer.domElement );
 function animate() {
 requestAnimationFrame( animate );
 render();
 function render() {
 mesh.rotation.x += 0.01;
 mesh.rotation.y += 0.02;
 renderer.render( scene, camera );
</script>