提交 209c8e1c 编写于 作者: M Mr.doob

Merge remote-tracking branch 'origin/dev' into dev

......@@ -80,8 +80,7 @@
scene = new THREE.Scene();
renderer = new THREE.CanvasRenderer( { antialias: false } );
renderer.setClearColor( 0x000000, 1 );
renderer = new THREE.CanvasRenderer();
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
container.appendChild( renderer.domElement );
......
......@@ -66,7 +66,7 @@ THREE.CanvasRenderer = function ( parameters ) {
} ),
_clearColor = new THREE.Color( 0x000000 ),
_clearAlpha = 0,
_clearAlpha = parameters.alpha === true ? 0 : 1,
_contextGlobalAlpha = 1,
_contextGlobalCompositeOperation = 0,
......
......@@ -145,7 +145,7 @@ THREE.Projector = function () {
this.pickingRay = function ( vector, camera ) {
console.error( 'THREE.Projector: .pickingRay() has been removed.' );
console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' );
};
......
......@@ -22,7 +22,6 @@
<script src="js/CurveExtras.js"></script>
<script src="js/ParametricGeometries.js"></script>
<script src="js/utils/UVsUtils.js"></script>
<script>
......@@ -110,7 +109,6 @@
scene.add( object );
var geo = new THREE.ParametricGeometry( THREE.ParametricGeometries.plane( 200, 200 ), 10, 20 );
// document.body.appendChild( THREE.UVsDebug( geo ));
object = THREE.SceneUtils.createMultiMaterialObject( geo, materials );
object.position.set( 0, 0, 0 );
scene.add( object );
......@@ -131,7 +129,6 @@
// scene.add( object );
object = THREE.SceneUtils.createMultiMaterialObject( sphere2, materials );
// document.body.appendChild( THREE.UVsDebug( sphere2 ));
object.position.set( 200, 0, 0 );
scene.add( object );
......
......@@ -207,54 +207,53 @@
vec3 central = vec3( 0., 0., 0. );
dir = selfPosition - central;
dist = length( dir );
dir.y *= 2.5;
velocity -= normalize( dir ) * delta * 5.;
for (float y=0.0;y<height;y++) {
for (float x=0.0;x<width;x++) {
if (
x == gl_FragCoord.x && y == gl_FragCoord.y) continue;
birdPosition = texture2D( texturePosition,
vec2( x / resolution.x, y / resolution.y ) ).xyz;
vec2 ref = vec2( x + 0.5, y + 0.5 ) / resolution.xy;
birdPosition = texture2D( texturePosition, ref ).xyz;
dir = birdPosition - selfPosition;
dist = length(dir);
distSquared = dist * dist;
if ( dist > 0.0 && distSquared < zoneRadiusSquared ) {
if (dist < 0.0001) continue;
distSquared = dist * dist;
percent = distSquared / zoneRadiusSquared;
if (distSquared > zoneRadiusSquared ) continue;
if ( percent < separationThresh ) { // low
percent = distSquared / zoneRadiusSquared;
// Separation - Move apart for comfort
f = (separationThresh / percent - 1.0) * delta;
velocity -= normalize(dir) * f;
if ( percent < separationThresh ) { // low
} else if ( percent < alignmentThresh ) { // high
// Separation - Move apart for comfort
f = (separationThresh / percent - 1.0) * delta;
velocity -= normalize(dir) * f;
// Alignment - fly the same direction
float threshDelta = alignmentThresh - separationThresh;
float adjustedPercent = ( percent - separationThresh ) / threshDelta;
} else if ( percent < alignmentThresh ) { // high
birdVelocity = texture2D( textureVelocity, vec2(x/resolution.x, y/resolution.y) ).xyz;
// Alignment - fly the same direction
float threshDelta = alignmentThresh - separationThresh;
float adjustedPercent = ( percent - separationThresh ) / threshDelta;
f = ( 0.5 - cos( adjustedPercent * PI_2 ) * 0.5 + 0.5 ) * delta;
velocity += normalize(birdVelocity) * f;
birdVelocity = texture2D( textureVelocity, ref ).xyz;
} else {
f = ( 0.5 - cos( adjustedPercent * PI_2 ) * 0.5 + 0.5 ) * delta;
velocity += normalize(birdVelocity) * f;
// Attraction / Cohesion - move closer
float threshDelta = 1.0 - alignmentThresh;
float adjustedPercent = ( percent - alignmentThresh ) / threshDelta;
} else {
f = ( 0.5 - ( cos( adjustedPercent * PI_2 ) * -0.5 + 0.5 ) ) * delta;
// Attraction / Cohesion - move closer
float threshDelta = 1.0 - alignmentThresh;
float adjustedPercent = ( percent - alignmentThresh ) / threshDelta;
velocity += normalize(dir) * f;
f = ( 0.5 - ( cos( adjustedPercent * PI_2 ) * -0.5 + 0.5 ) ) * delta;
}
velocity += normalize(dir) * f;
}
......
......@@ -205,7 +205,7 @@ THREE.Projector = function () {
this.pickingRay = function ( vector, camera ) {
console.error( 'THREE.Projector: .pickingRay() has been removed.' );
console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' );
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册