Three.js 3D rendering library for javascript #gamedev #game-engine #rendering #javascript

Mr.doob 6b549397b6 r76 9 years ago
.github f373b2f41e Update ISSUE_TEMPLATE.md to allow r75 9 years ago
build 6400f2c9b6 r76 9 years ago
docs 26d1c78088 Support all Typed Array datatypes in bufferAttribute (#8618) 9 years ago
editor 492e6a174d Editor: Added :hover to outliner. 9 years ago
examples c34635c25a Clean up. 9 years ago
src 6400f2c9b6 r76 9 years ago
test 6e05a92bc9 Triangle: new method .closestPointToPoint 9 years ago
utils 08adeecfd2 Unify MeshPhysicalMaterial and MeshStandardMaterial 9 years ago
.gitignore 472ed080fc Merged changes from master- into dev-branch #17 10 years ago
.npmignore 28b292583f Removed the src/extras from npmignore, which is already included in the build 9 years ago
LICENSE c2e049403f Update LICENSE 9 years ago
README.md b17ffc45d5 Fixed jsfiddle. See #8185. 9 years ago
bower.json 635b3e274d Fix bower.json ignores 9 years ago
package.json 6400f2c9b6 r76 9 years ago

README.md

three.js

JavaScript 3D library

The aim of the project is to create a lightweight 3D library with a very low level of complexity — in other words, for dummies. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.

ExamplesDocumentationMigratingHelp

Usage

Download the minified library and include it in your html. Alternatively see how to build the library yourself.

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

This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a WebGL renderer for the scene and camera, and it adds that viewport to the document.body element. Finally it animates the cube within the scene for the camera.

<script>

	var scene, camera, renderer;
	var 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 );

		mesh.rotation.x += 0.01;
		mesh.rotation.y += 0.02;

		renderer.render( scene, camera );

	}

</script>

If everything went well you should see this.

Change log

releases