PF Villard d'après le cours de Eric Haines (Autodesk Inc.) disponible sur Udacity
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Ma première application Three.js
<style>
body { margin: 0; }
canvas { width: 100%; height: 100% }
</style>
</head>
<body>
<script src="js/three.js">
<script>
// Le script Javascript ici.
</script>
</body>
</html>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
var render = function () {
requestAnimationFrame( render );
cube.rotation.x += 0.1;
cube.rotation.y += 0.1;
renderer.render(scene, camera);
};
render();
Pour chaque TD/TP, télécharger l'archive exercicesWebGL.zip et dézipper la. Elle contient :
function createStairs() {
var stepMaterialVertical = new THREE.MeshLambertMaterial( {
color: 0xA85F35
} );
var stepMaterialHorizontal = new THREE.MeshLambertMaterial( {
color: 0xBC7349
} );
var stepWidth = 500;
var stepSize = 200;
var stepThickness = 50;
var verticalStepHeight = stepSize;
var horizontalStepDepth = stepSize*2;
var stepHalfThickness = stepThickness/2;
var stepVertical = new THREE.CubeGeometry(stepWidth, verticalStepHeight, stepThickness);
var stepHorizontal = new THREE.CubeGeometry(stepWidth, stepThickness, horizontalStepDepth);
var stepMesh;
stepMesh = new THREE.Mesh( stepVertical, stepMaterialVertical );
stepMesh.position.x = 0;
stepMesh.position.y = verticalStepHeight/2;
stepMesh.position.z = 0;
scene.add( stepMesh );
stepMesh = new THREE.Mesh( stepHorizontal, stepMaterialHorizontal );
stepMesh.position.x = 0;
stepMesh.position.y = stepThickness/2 + verticalStepHeight;
stepMesh.position.z = horizontalStepDepth/2 - stepHalfThickness;
scene.add( stepMesh );
}