Aller au contenu
Wikipédia l'encyclopédie libre

Three.js

Un article de Wikipédia, l'encyclopédie libre.

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ? ) selon les recommandations des projets correspondants.
Three.js
Informations
Développé par MrDoob et autres auteurs de Three.js[1]
Première version
Dernière version 184 ()[2] Voir et modifier les données sur Wikidata
Dépôt github.com/mrdoob/three.js Voir et modifier les données sur Wikidata
Écrit en JavaScript Voir et modifier les données sur Wikidata
Système d'exploitation Multiplateforme (d)Voir et modifier les données sur Wikidata
Type Interface de programmation
Bibliothèque JavaScript
Web3d framework (d)Voir et modifier les données sur Wikidata
Licence Licence MIT Voir et modifier les données sur Wikidata
Site web threejs.org Voir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide)

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 proche - bien que plus moderne - du moteur graphique Shockwave d'Adobe, qui était l'ancien standard de la 3D en navigateur avant la généralisation du WebGL. Les objets sont rangés en arborescence de matrices, avec un système parent/enfants. Le matériau par défaut est très simple mais il dispose de nombreuses options pour y ajouter divers effets.

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

  • Animation par squelette
  • LOD (niveau de détails pour les objets)
  • Chargement de fichiers aux formats .OBJ, .JSON, .FBX, .DAE, .GLB
  • Système de particules (pour par exemple simuler la neige, le feu, etc.)
  • Système de collisions pour jeux vidéos, basé sur un stockage des triangles dans un octree.

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>
varcamera,scene,renderer,
geometry,material,mesh;
init();
animate();
functioninit(){
scene=newTHREE.Scene();
camera=newTHREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,1,10000);
camera.position.z=1000;
geometry=newTHREE.BoxGeometry(200,200,200);
material=newTHREE.MeshBasicMaterial({color:0xff0000,wireframe:true});
mesh=newTHREE.Mesh(geometry,material);
scene.add(mesh);
renderer=newTHREE.CanvasRenderer();
renderer.setSize(window.innerWidth,window.innerHeight);
document.body.appendChild(renderer.domElement);
}
functionanimate(){
// note: three.js includes requestAnimationFrame shim
requestAnimationFrame(animate);
render();
}
functionrender(){
mesh.rotation.x+=0.01;
mesh.rotation.y+=0.02;
renderer.render(scene,camera);
}
</script>

Bibliographie

[modifier | modifier le code ]

Livres sur la programmation avec Three.js:

Notes et références

[modifier | modifier le code ]
  1. (en) « LICENSE »
  2. « Release 184 », (consulté le )

Sur les autres projets Wikimedia :

Liens externes

[modifier | modifier le code ]

AltStyle によって変換されたページ (->オリジナル) /