Three.js

Three.js
Three.jsの例のスクリーンショット
作者 Ricardo Cabello (Mr.doob)
開発元 Three.js Authors[1]
初版 2010年4月24日 (2010-04-24)[2]
最新版 0.151.3[3] ウィキデータを編集 - エラー: 最初のパラメータの文字列長が想定外です。 (エラー: 最初のパラメータを日付や時間として解析することができません。) [±]
リポジトリ ウィキデータを編集
プログラミング
言語
JavaScript
サイズ 409,474 KB, gzip: 98,706 KB[2]
サポート状況 アクティブ
種別 JavaScriptライブラリ
ライセンス MIT License[1]
公式サイト threejs.org ウィキデータを編集
テンプレートを表示

three.jsは、ウェブブラウザ上でリアルタイムレンダリングによる3次元コンピュータグラフィックスを描画する、クロスブラウザ対応の軽量なJavaScriptライブラリおよびAPIである。

HTML5canvas要素Scalable Vector GraphicsWebGLとの組み合わせが可能である。ソースコードGitHubでホストされている。

WebGLというWeb標準技術の登場により[4]、商用のブラウザ拡張機能に頼らずに、HTMLファイル内に埋め込まれたJavaScriptを介して、GPUアクセラレーションによる動的表現を描画することが可能になった[5][6]。three.jsは、WebGLのAPIを簡略化するためのラッパである。

ライブラリは単一のJavaScriptファイルであり、以下のようにHTML内でローカルやリモートコピーにリンクすることで動作する。

<script src="js/three.min.js"></script>

以下のコードはdocument.body要素内に、画面上にカメラ、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>

脚注

  1. ^ a b Three.js/license”. github.com/mrdoob. 20 May 2012閲覧。
  2. ^ a b Three.js/readme.md”. github.com/mrdoob. 20 May 2012閲覧。
  3. ^ https://registry.npmjs.com/three; 閲覧日: 2023年4月9日.
  4. ^ “Khronos Releases Final WebGL 1.0 Specification”. Khronos Group. (March 3, 2011). http://www.khronos.org/news/press/khronos-releases-final-webgl-1.0-specification 2 June 2012閲覧。 
  5. ^ O3D英語版
  6. ^ Unity

外部リンク