Pārlūkot izejas kodu

Fixing the U business, day 1.
Tomorrow Geometries and CanvasRenderer.

Mr.doob 13 gadi atpakaļ
vecāks
revīzija
54bea419e2

+ 1 - 1
examples/js/loaders/ColladaLoader.js

@@ -2414,7 +2414,7 @@ THREE.ColladaLoader = function () {
 								ts = ts || { };
 								ts = ts || { };
 								if ( ts[ input.set ] === undefined ) ts[ input.set ] = [];
 								if ( ts[ input.set ] === undefined ) ts[ input.set ] = [];
 								// invert the V
 								// invert the V
-								ts[ input.set ].push( new THREE.UV( source.data[ idx32 ], 1.0 - source.data[ idx32 + 1 ] ) );
+								ts[ input.set ].push( new THREE.UV( source.data[ idx32 ], source.data[ idx32 + 1 ] ) );
 
 
 								break;
 								break;
 
 

+ 1 - 1
examples/js/loaders/OBJLoader.js

@@ -50,7 +50,7 @@ THREE.OBJLoader.prototype = {
 
 
 		function uv( u, v ) {
 		function uv( u, v ) {
 
 
-			return new THREE.UV( u, 1.0 - v );
+			return new THREE.UV( u, v );
 
 
 		}
 		}
 
 

+ 1 - 1
examples/js/loaders/UTF8Loader.js

@@ -239,7 +239,7 @@ THREE.UTF8Loader.prototype.createModel = function ( data, callback, scale, offse
 				u /= 1023;
 				u /= 1023;
 				v /= 1023;
 				v /= 1023;
 
 
-				uvs.push( u, 1 - v );
+				uvs.push( u, v );
 
 
 			}
 			}
 
 

+ 0 - 8
examples/js/loaders/ctm/CTMLoader.js

@@ -494,14 +494,6 @@ THREE.CTMLoader.prototype.createModelBuffers = function ( file, callback ) {
 
 
 		if ( vertexUvArray !== undefined ) {
 		if ( vertexUvArray !== undefined ) {
 
 
-			// "fix" flipping
-
-			for ( var i = 0; i < vertexUvArray.length; i += 2 ) {
-
-				vertexUvArray[ i + 1 ] = 1 - vertexUvArray[ i + 1 ];
-
-			}
-
 			scope.vertexUvBuffer = gl.createBuffer();
 			scope.vertexUvBuffer = gl.createBuffer();
 			gl.bindBuffer( gl.ARRAY_BUFFER, scope.vertexUvBuffer );
 			gl.bindBuffer( gl.ARRAY_BUFFER, scope.vertexUvBuffer );
 			gl.bufferData( gl.ARRAY_BUFFER, vertexUvArray, gl.STATIC_DRAW );
 			gl.bufferData( gl.ARRAY_BUFFER, vertexUvArray, gl.STATIC_DRAW );

+ 1 - 1
examples/webgl_kinect.html

@@ -61,7 +61,7 @@
 
 
 			void main() {
 			void main() {
 
 
-				vUv = vec2( position.x / width, 1.0 - ( position.y / height ) );
+				vUv = vec2( position.x / width, position.y / height );
 
 
 				vec4 color = texture2D( map, vUv );
 				vec4 color = texture2D( map, vUv );
 				float depth = ( color.r + color.g + color.b ) / 3.0;
 				float depth = ( color.r + color.g + color.b ) / 3.0;

+ 10 - 3
src/renderers/WebGLRenderer.js

@@ -5844,6 +5844,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 			_gl.activeTexture( _gl.TEXTURE0 + slot );
 			_gl.activeTexture( _gl.TEXTURE0 + slot );
 			_gl.bindTexture( _gl.TEXTURE_2D, texture.__webglTexture );
 			_gl.bindTexture( _gl.TEXTURE_2D, texture.__webglTexture );
 
 
+			_gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, true );
 			_gl.pixelStorei( _gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha );
 			_gl.pixelStorei( _gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha );
 
 
 			var image = texture.image,
 			var image = texture.image,
@@ -5919,6 +5920,8 @@ THREE.WebGLRenderer = function ( parameters ) {
 				_gl.activeTexture( _gl.TEXTURE0 + slot );
 				_gl.activeTexture( _gl.TEXTURE0 + slot );
 				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, texture.image.__webglTextureCube );
 				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, texture.image.__webglTextureCube );
 
 
+				_gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, true );
+
 				var cubeImage = [];
 				var cubeImage = [];
 
 
 				for ( var i = 0; i < 6; i ++ ) {
 				for ( var i = 0; i < 6; i ++ ) {
@@ -5948,7 +5951,11 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 				}
 				}
 
 
-				if ( texture.generateMipmaps && isImagePowerOfTwo )	_gl.generateMipmap( _gl.TEXTURE_CUBE_MAP );
+				if ( texture.generateMipmaps && isImagePowerOfTwo ) {
+
+					_gl.generateMipmap( _gl.TEXTURE_CUBE_MAP );
+
+				}
 
 
 				texture.needsUpdate = false;
 				texture.needsUpdate = false;
 
 
@@ -6015,8 +6022,8 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 		if ( renderTarget && ! renderTarget.__webglFramebuffer ) {
 		if ( renderTarget && ! renderTarget.__webglFramebuffer ) {
 
 
-			if( renderTarget.depthBuffer === undefined ) renderTarget.depthBuffer = true;
-			if( renderTarget.stencilBuffer === undefined ) renderTarget.stencilBuffer = true;
+			if ( renderTarget.depthBuffer === undefined ) renderTarget.depthBuffer = true;
+			if ( renderTarget.stencilBuffer === undefined ) renderTarget.stencilBuffer = true;
 
 
 			renderTarget.__webglTexture = _gl.createTexture();
 			renderTarget.__webglTexture = _gl.createTexture();
 
 

+ 2 - 2
utils/exporters/blender/2.62/scripts/addons/io_mesh_threejs/export_threejs.py

@@ -221,7 +221,7 @@ TEMPLATE_FILE_ASCII = """\
 
 
     "metadata" :
     "metadata" :
     {
     {
-        "formatVersion" : 3,
+        "formatVersion" : 3.1,
         "generatedBy"   : "Blender 2.62 Exporter",
         "generatedBy"   : "Blender 2.62 Exporter",
         "vertices"      : %(nvertex)d,
         "vertices"      : %(nvertex)d,
         "faces"         : %(nface)d,
         "faces"         : %(nface)d,
@@ -439,7 +439,7 @@ def generate_vertex_color(c):
     return TEMPLATE_C % c
     return TEMPLATE_C % c
 
 
 def generate_uv(uv):
 def generate_uv(uv):
-    return TEMPLATE_UV % (uv[0], 1.0 - uv[1])
+    return TEMPLATE_UV % (uv[0], uv[1])
 
 
 # #####################################################
 # #####################################################
 # Model exporter - faces
 # Model exporter - faces

+ 1 - 1
utils/exporters/blender/2.62/scripts/addons/io_mesh_threejs/import_threejs.py

@@ -248,7 +248,7 @@ def create_mesh_object(name, vertices, materials, face_data, flipYZ, recalculate
                         v = layer[fi][vi][1]
                         v = layer[fi][vi][1]
 
 
                         face_uvs[vi].x = u
                         face_uvs[vi].x = u
-                        face_uvs[vi].y = 1.0 - v
+                        face_uvs[vi].y = v
 
 
                     active_texture = materials[faceMaterials[fi]].active_texture
                     active_texture = materials[faceMaterials[fi]].active_texture
 
 

+ 2 - 2
utils/exporters/blender/2.63/scripts/addons/io_mesh_threejs/export_threejs.py

@@ -221,7 +221,7 @@ TEMPLATE_FILE_ASCII = """\
 
 
     "metadata" :
     "metadata" :
     {
     {
-        "formatVersion" : 3,
+        "formatVersion" : 3.1,
         "generatedBy"   : "Blender 2.63 Exporter",
         "generatedBy"   : "Blender 2.63 Exporter",
         "vertices"      : %(nvertex)d,
         "vertices"      : %(nvertex)d,
         "faces"         : %(nface)d,
         "faces"         : %(nface)d,
@@ -445,7 +445,7 @@ def generate_vertex_color(c):
     return TEMPLATE_C % c
     return TEMPLATE_C % c
 
 
 def generate_uv(uv):
 def generate_uv(uv):
-    return TEMPLATE_UV % (uv[0], 1.0 - uv[1])
+    return TEMPLATE_UV % (uv[0], uv[1])
 
 
 # #####################################################
 # #####################################################
 # Model exporter - faces
 # Model exporter - faces

+ 1 - 1
utils/exporters/blender/2.63/scripts/addons/io_mesh_threejs/import_threejs.py

@@ -248,7 +248,7 @@ def create_mesh_object(name, vertices, materials, face_data, flipYZ, recalculate
                         v = layer[fi][vi][1]
                         v = layer[fi][vi][1]
 
 
                         face_uvs[vi].x = u
                         face_uvs[vi].x = u
-                        face_uvs[vi].y = 1.0 - v
+                        face_uvs[vi].y = v
 
 
                     active_texture = materials[faceMaterials[fi]].active_texture
                     active_texture = materials[faceMaterials[fi]].active_texture
 
 

+ 2 - 2
utils/exporters/obj/convert_obj_three.py

@@ -159,7 +159,7 @@ TEMPLATE_FILE_ASCII = u"""\
 
 
     "metadata" :
     "metadata" :
     {
     {
-        "formatVersion" : 3,
+        "formatVersion" : 3.1,
         "sourceFile"    : "%(fname)s",
         "sourceFile"    : "%(fname)s",
         "generatedBy"   : "OBJConverter",
         "generatedBy"   : "OBJConverter",
         "vertices"      : %(nvertex)d,
         "vertices"      : %(nvertex)d,
@@ -699,7 +699,7 @@ def generate_normal(n):
     return TEMPLATE_N % (n[0], n[1], n[2])
     return TEMPLATE_N % (n[0], n[1], n[2])
 
 
 def generate_uv(uv):
 def generate_uv(uv):
-    return TEMPLATE_UV % (uv[0], 1.0 - uv[1])
+    return TEMPLATE_UV % (uv[0], uv[1])
 
 
 def generate_color_rgb(c):
 def generate_color_rgb(c):
     return TEMPLATE_COLOR % (c[0], c[1], c[2])
     return TEMPLATE_COLOR % (c[0], c[1], c[2])