@@ -11,7 +11,9 @@ var GameObjectEvents = require('../events');
1111var GetCalcMatrix = require ( '../GetCalcMatrix' ) ;
1212var MeshRender = require ( './MeshRender' ) ;
1313var MeshCamera = require ( './MeshCamera' ) ;
14+ var MeshLight = require ( './MeshLight' ) ;
1415var Model = require ( '../../geom/mesh/Model' ) ;
16+ var Vector3 = require ( '../../math/Vector3' ) ;
1517
1618/**
1719 * @classdesc
@@ -84,6 +86,8 @@ var Mesh = new Class({
8486 */
8587 this . camera = new MeshCamera ( 45 , 0 , 0 , - 10 , 0.01 , 1000 ) ;
8688
89+ this . light = new MeshLight ( ) ;
90+
8791 /**
8892 * An array of Model instances that have been created in this Mesh.
8993 *
@@ -152,7 +156,8 @@ var Mesh = new Class({
152156
153157 this . setSize ( renderer . width , renderer . height ) ;
154158
155- this . initPipeline ( ) ;
159+ // TODO - Change to const
160+ this . initPipeline ( 'MeshPipeline' ) ;
156161
157162 if ( vertices )
158163 {
@@ -324,6 +329,7 @@ var Mesh = new Class({
324329
325330 var vertices = modelData . vertices ;
326331 var textureCoords = modelData . textureCoords ;
332+ var normals = modelData . vertexNormals ;
327333 var faces = modelData . faces ;
328334
329335 var defaultUV1 = { u : 0 , v : 1 } ;
@@ -334,14 +340,20 @@ var Mesh = new Class({
334340 {
335341 var face = faces [ i ] ;
336342
343+ // {textureCoordsIndex: 0, vertexIndex: 16, vertexNormalIndex: 16}
337344 var v1 = face . vertices [ 0 ] ;
338345 var v2 = face . vertices [ 1 ] ;
339346 var v3 = face . vertices [ 2 ] ;
340347
348+ // {x: 0.19509, y: 0.980785, z: 0}
341349 var m1 = vertices [ v1 . vertexIndex ] ;
342350 var m2 = vertices [ v2 . vertexIndex ] ;
343351 var m3 = vertices [ v3 . vertexIndex ] ;
344352
353+ var n1 = normals [ v1 . vertexNormalIndex ] ;
354+ var n2 = normals [ v2 . vertexNormalIndex ] ;
355+ var n3 = normals [ v3 . vertexNormalIndex ] ;
356+
345357 var t1 = v1 . textureCoordsIndex ;
346358 var t2 = v2 . textureCoordsIndex ;
347359 var t3 = v3 . textureCoordsIndex ;
@@ -350,9 +362,9 @@ var Mesh = new Class({
350362 var uv2 = ( t2 === - 1 ) ? defaultUV2 : textureCoords [ t2 ] ;
351363 var uv3 = ( t3 === - 1 ) ? defaultUV3 : textureCoords [ t3 ] ;
352364
353- var vert1 = model . addVertex ( originX + m1 . x * scale , originY + m1 . y * scale , originZ + m1 . z * scale , uv1 . u , uv1 . v ) ;
354- var vert2 = model . addVertex ( originX + m2 . x * scale , originY + m2 . y * scale , originZ + m2 . z * scale , uv2 . u , uv2 . v ) ;
355- var vert3 = model . addVertex ( originX + m3 . x * scale , originY + m3 . y * scale , originZ + m3 . z * scale , uv3 . u , uv3 . v ) ;
365+ var vert1 = model . addVertex ( originX + m1 . x * scale , originY + m1 . y * scale , originZ + m1 . z * scale , uv1 . u , uv1 . v , n1 . x , n1 . y , n1 . z ) ;
366+ var vert2 = model . addVertex ( originX + m2 . x * scale , originY + m2 . y * scale , originZ + m2 . z * scale , uv2 . u , uv2 . v , n2 . x , n2 . y , n2 . z ) ;
367+ var vert3 = model . addVertex ( originX + m3 . x * scale , originY + m3 . y * scale , originZ + m3 . z * scale , uv3 . u , uv3 . v , n3 . x , n3 . y , n3 . z ) ;
356368
357369 model . addFace ( vert1 , vert2 , vert3 ) ;
358370 }
@@ -533,6 +545,7 @@ var Mesh = new Class({
533545
534546 var camera = this . camera ;
535547
548+ /*
536549 if (camera.dirty || width !== this._prevWidth || height !== this._prevHeight)
537550 {
538551 // Mesh has resized, flow that down to the Camera
@@ -541,6 +554,9 @@ var Mesh = new Class({
541554 this._prevWidth = width;
542555 this._prevHeight = height;
543556 }
557+ */
558+
559+ camera . update ( width , height ) ;
544560
545561 var models = this . models ;
546562
0 commit comments