topical media & game development
mobile-query-three-plugins-incubator-examples-deferredrenderer.htm / htm
<!doctype html><title>Minimal tQuery Page</title>
<script src="../../../build/tquery-bundle-require.js"></script>
<!-- needed for defferedRenderer -->
<script src='../../../vendor/three.js/renderers/WebGLDeferredRenderer.js'></script>
<script src='../../../vendor/three.js/ShaderDeferred.js'></script>
<script src='../../../vendor/three.js/shaders/CopyShader.js'></script>
<script src='../../../vendor/three.js/shaders/FXAAShader.js'></script>
<script src='../../../vendor/three.js/postprocessing/EffectComposer.js'></script>
<script src='../../../vendor/three.js/postprocessing/RenderPass.js'></script>
<script src='../../../vendor/three.js/postprocessing/ShaderPass.js'></script>
<script src='../../../vendor/three.js/postprocessing/MaskPass.js'></script>
<body><script>
require(['tquery.poolball'], function(){
var world = tQuery.createWorld().boilerplate().start()
if( false ){
var tCamera = world.tCamera();
var tRenderer = world.tRenderer();
window.camera = world._camera;
tRenderer.setClearColorHex( 0x000000, 0 );
tRenderer.autoClear = false;
// experiment with defered
world._renderer = new THREE.WebGLDeferredRenderer({
width : tRenderer.domElement.width,
height : tRenderer.domElement.height,
scale : 1,
antialias : true,
renderer : tRenderer
})
}else{
world.tRenderer().setClearColorHex( 0x000000, 1 );
}
// put some lights
// tQuery.createAmbientLight().addTo(world)
// .color(0xffffff)
tQuery.createDirectionalLight().addTo(world)
.position(1,1,1)
.color(0xff4444)
tQuery.createDirectionalLight().addTo(world)
.position(-1,-1,1)
.color(0x000080)
world.removeCameraControls();
var ballsDesc = ['cue', 'black', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
for(var i = 0; i < 20; i++){
(function(){
var object = tQuery.createPoolBall({
ballDesc : ballsDesc[Math.floor(Math.random()*ballsDesc.length)],
stripped : Math.random() > 0.5 ? true : false
}).addTo(world).scaleBy(1/2);
object.positionX( 2 * (Math.random()-0.5) );
object.positionY( 1 * (Math.random()-0.5) );
object.positionZ( 1 * (Math.random()-0.5) );
object.rotationX( Math.random() * Math.PI*2 );
object.rotationY( Math.random() * Math.PI*2 );
object.rotationZ( Math.random() * Math.PI*2 );
world.loop().hook(function(delta, now){
object.rotateY(1*0.02);
object.rotateX(1*0.015);
object.rotateZ(1*0.025);
});
})();
}
});
</script></body>
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.