Browse Source

Merge pull request #8415 from Mugen87/dev

SimulationRenderer: Fix COLOR_ATTACHMENT format bug in Firefox
Mr.doob 9 năm trước cách đây
mục cha
commit
9f6ea4f23d
1 tập tin đã thay đổi với 6 bổ sung5 xóa
  1. 6 5
      examples/js/SimulationRenderer.js

+ 6 - 5
examples/js/SimulationRenderer.js

@@ -26,7 +26,7 @@ function SimulationRenderer( WIDTH, renderer ) {
 
 	}
 
-	if ( gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ) == 0 ) {
+	if ( gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ) === 0 ) {
 
 		alert( "No support for vertex shader textures!" );
 		return;
@@ -102,7 +102,7 @@ function SimulationRenderer( WIDTH, renderer ) {
 
 		rtPosition1 = getRenderTarget( THREE.RGBAFormat );
 		rtPosition2 = rtPosition1.clone();
-		rtVelocity1 = getRenderTarget( THREE.RGBFormat );
+		rtVelocity1 = getRenderTarget( THREE.RGBAFormat );
 		rtVelocity2 = rtVelocity1.clone();
 
 		simulator.renderTexture( dtPosition, rtPosition1 );
@@ -211,9 +211,9 @@ function SimulationRenderer( WIDTH, renderer ) {
 
 	function generateVelocityTexture() {
 
-		var a = new Float32Array( PARTICLES * 3 );
+		var a = new Float32Array( PARTICLES * 4 );
 
-		for ( var k = 0, kl = a.length; k < kl; k += 3 ) {
+		for ( var k = 0, kl = a.length; k < kl; k += 4 ) {
 
 			var x = Math.random() - 0.5;
 			var y = Math.random() - 0.5;
@@ -222,10 +222,11 @@ function SimulationRenderer( WIDTH, renderer ) {
 			a[ k + 0 ] = x * 10;
 			a[ k + 1 ] = y * 10;
 			a[ k + 2 ] = z * 10;
+			a[ k + 3 ] = 1;
 
 		}
 
-		var texture = new THREE.DataTexture( a, WIDTH, WIDTH, THREE.RGBFormat, THREE.FloatType );
+		var texture = new THREE.DataTexture( a, WIDTH, WIDTH, THREE.RGBAFormat, THREE.FloatType );
 		texture.needsUpdate = true;
 
 		return texture;