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

makc c8ff4fce00 perspective correction in SoftwareRenderer %!s(int64=9) %!d(string=hai) anos
build becea58835 Updated builds. %!s(int64=9) %!d(string=hai) anos
docs 011c8d3e4c MTLLoader: Added Tr support. Removed invertTransparency option. See #7520 %!s(int64=9) %!d(string=hai) anos
editor a3a0392eb0 Editor: Simplified UI.Outliner. %!s(int64=9) %!d(string=hai) anos
examples c8ff4fce00 perspective correction in SoftwareRenderer %!s(int64=9) %!d(string=hai) anos
src b64a4386b4 remove struct initializers in vertex lambert. %!s(int64=9) %!d(string=hai) anos
test 1ef8ba5adb Merge pull request #7445 from Mugen87/dev %!s(int64=9) %!d(string=hai) anos
utils 666630446c Prettified dynamic Uniforms. @arose note that I've changed the object, camera order. See #7048. %!s(int64=9) %!d(string=hai) anos
.gitignore 472ed080fc Merged changes from master- into dev-branch #17 %!s(int64=10) %!d(string=hai) anos
.npmignore 99d4757bd4 Add NPM support %!s(int64=10) %!d(string=hai) anos
CONTRIBUTING.md 4f903eab24 CONTRIBUTING: Smaller font size for message. %!s(int64=11) %!d(string=hai) anos
LICENSE c12770459e change *copy; to © %!s(int64=10) %!d(string=hai) anos
README.md b113db75e1 <canvas> -> `WebGL` %!s(int64=10) %!d(string=hai) anos
bower.json 635b3e274d Fix bower.json ignores %!s(int64=9) %!d(string=hai) anos
package.json e55ba32040 Updated package.json %!s(int64=9) %!d(string=hai) anos

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