From 88f998a5178a7a6241611b7b69505f8f4a1ab789 Mon Sep 17 00:00:00 2001 From: makc Date: Fri, 25 Jan 2013 18:23:31 +0100 Subject: [PATCH] null reference fix for mesh with isolated vertices http://forum.alternativaplatform.com/index.php?showtopic=4478&hl= --- src/alternativa/engine3d/resources/Geometry.as | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/alternativa/engine3d/resources/Geometry.as b/src/alternativa/engine3d/resources/Geometry.as index 8347145..10860fa 100644 --- a/src/alternativa/engine3d/resources/Geometry.as +++ b/src/alternativa/engine3d/resources/Geometry.as @@ -243,6 +243,7 @@ package alternativa.engine3d.resources { var normalsBufferStride:uint = normalsStream.attributes.length*4; for (i = 0; i < _numVertices; i++) { normal = normals[i]; + if (normal == null) continue; normal.normalize(); normalsBuffer.position = i*normalsBufferStride + normalsOffset; normalsBuffer.writeFloat(normal.x); @@ -254,7 +255,7 @@ package alternativa.engine3d.resources { var resultByteArray:ByteArray = new ByteArray(); resultByteArray.endian = Endian.LITTLE_ENDIAN; for (i = 0; i < _numVertices; i++) { - normal = normals[i]; + normal = normals[i] || new Vector3D(0,0,1); normal.normalize(); resultByteArray.writeBytes(positionsData, i*stride, stride); resultByteArray.writeFloat(normal.x);