Mr.doob před 11 roky
rodič
revize
444a8b9ff2
2 změnil soubory, kde provedl 23 přidání a 12 odebrání
  1. 18 7
      build/three.js
  2. 5 5
      build/three.min.js

+ 18 - 7
build/three.js

@@ -14832,9 +14832,7 @@ THREE.ShaderMaterial = function ( parameters ) {
 		"uv2" : [ 0, 0 ]
 	};
 
-	// By default, bind position to attribute index 0. In WebGL, attribute 0
-	// should always be used to avoid potentially expensive emulation.
-	this.index0AttributeName = "position";
+	this.index0AttributeName = undefined;
 
 	this.setValues( parameters );
 
@@ -26559,6 +26557,14 @@ THREE.WebGLProgram = ( function () {
 		var defines = material.defines;
 		var index0AttributeName = material.index0AttributeName;
 
+		if ( index0AttributeName === undefined && parameters.morphTargets === true ) {
+
+			// programs with morphTargets displace position out of attribute 0
+
+			index0AttributeName = 'position';
+
+		}
+
 		var shadowMapTypeDefine = "SHADOWMAP_TYPE_BASIC";
 
 		if ( parameters.shadowMapType === THREE.PCFShadowMap ) {
@@ -26734,11 +26740,12 @@ THREE.WebGLProgram = ( function () {
 		_gl.attachShader( program, glVertexShader );
 		_gl.attachShader( program, glFragmentShader );
 
-		// Force a particular attribute to index 0.
-		// because potentially expensive emulation is done by browser if attribute 0 is disabled.
-		// And, color, for example is often automatically bound to index 0 so disabling it
 		if ( index0AttributeName !== undefined ) {
 
+			// Force a particular attribute to index 0.
+			// because potentially expensive emulation is done by browser if attribute 0 is disabled.
+			// And, color, for example is often automatically bound to index 0 so disabling it
+
 			_gl.bindAttribLocation( program, 0, index0AttributeName );
 
 		}
@@ -26859,7 +26866,11 @@ THREE.WebGLShader = ( function () {
 		gl.shaderSource( shader, string );
 		gl.compileShader( shader );
 
-		// if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) {}
+		if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) {
+
+			console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' );
+
+		}
 
 		if ( gl.getShaderInfoLog( shader ) !== '' ) {
 

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 5 - 5
build/three.min.js


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů