Three.js 3D rendering library for javascript #gamedev #game-engine #rendering #javascript
|
15 年之前 | |
---|---|---|
build | 15 年之前 | |
examples | 15 年之前 | |
src | 15 年之前 | |
LICENSE | 15 年之前 | |
README.md | 15 年之前 |
Currently the engine only supports particles and triangles/quads with flat colors. The aim is to keep the code as simple and modular as possible.
At the moment the engine can render using <canvas> and <svg>. WebGL rendering would come at a later stage but contributions for this (and anything else) are more than welcome.
Although this allows 3D for iPhoneOS and Android platforms the performance on these devices is not too good.
We first include the library into our code.
<script type="text/javascript" src="js/three.js"></script>
After this we have access to all the engine classes and methods.
The next code initializes the engine, creates a CanvasRenderer and adds its viewport (<canvas>) directly into the document.body element.
<script type="text/javascript">
var camera, scene, renderer;
init();
setInterval(loop, 1000 / 60);
function init()
{
camera = new Camera(0, 0, 1000);
scene = new Scene();
renderer = new CanvasRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
for (var i = 0; i < 1000; i++)
{
var particle = new Particle( new ColorMaterial(Math.random() * 0x808008 + 0x808080, 1) );
particle.position.x = Math.random() * 2000 - 1000;
particle.position.y = Math.random() * 2000 - 1000;
particle.position.z = Math.random() * 2000 - 1000;
particle.size = Math.random() * 10 + 5;
particle.updateMatrix();
scene.add( particle );
}
document.body.appendChild(renderer.viewport);
}
function loop()
{
renderer.render(scene, camera);
}
</script>
2010 04 24 - r3 (16.392 kb)
2010 04 24 - r2 (15.724 kb)
2010 04 24 - r1 (15.25 kb)