Three.js

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 23 juin 2021 à 17:38 et modifiée en dernier par TortueBis (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Three.js
Description de l'image Three.js logo.png.
Description de l'image Three.js-code-example.jpg.
Informations
Développé par MrDoob et autres auteurs de Three.js[1]
Première version
Dernière version r129 ()
Dépôt github.com/mrdoob/three.jsVoir et modifier les données sur Wikidata
Écrit en JavaScript
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type interface de programmation, bibliothèque JavaScript, bibliothèque logicielle 2D/3D
Licence licence MIT
Site web https://threejs.org/

Three.js est une bibliothèque JavaScript pour créer des scènes 3D dans un navigateur web. Elle peut être utilisée avec la balise canvas du HTML5 sans avoir besoin d'un plugin. Le code source est hébergé sur le GitHub de son créateur mrDoob.

Son principe est d'être accessible à tout le monde, elle permet des rendus en WebGL, CSS3D et SVG.

Sa logique est très proche du moteur Shockwave d'Adobe, qui était l'ancien standard de la 3D en navigateur.

La bibliothèque contient par exemple les fonctionnalités suivantes :

Exemple

Le code suivant crée une scène et ajoute une caméra et un cube, une balise de rendu canvas s'ajoute à la page. Une fois chargé, le cube tourne sur son axe X et Y.

<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.CanvasRenderer();
        renderer.setSize( window.innerWidth, window.innerHeight );

        document.body.appendChild( renderer.domElement );
    }

    function animate() {
        // note: three.js includes requestAnimationFrame shim
        requestAnimationFrame( animate );
        render();
    }

    function render() {
        mesh.rotation.x += 0.01;
        mesh.rotation.y += 0.02;

        renderer.render( scene, camera );
    }

</script>

Notes et références

  1. (en) « LICENSE »

Bibliographie

Livres sur la programmation avec Three.js:

Annexes

Sur les autres projets Wikimedia :

Liens externes