[Sandy] [sandy commit] r665 - trunk/sandy/as3/trunk/src/sandy/core/scenegraph

codesite-noreply at google.com codesite-noreply at google.com
Tue Jun 10 07:09:30 PDT 2008


Author: kiroukou
Date: Tue Jun 10 07:08:27 2008
New Revision: 665

Modified:
   trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Camera3D.as
   trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Shape3D.as

Log:
Ok, now changes are done and should work.

Please people let's give it a try for compatibility and also, 
performance check ;)

Modified: trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Camera3D.as
==============================================================================
--- trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Camera3D.as	(original)
+++ trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Camera3D.as	Tue Jun 
10 07:08:27 2008
@@ -197,13 +197,13 @@
 			var l_nCste:Number;
 			for each( var l_oVertex:Vertex in p_oList )
 			{
-				//if( m_oCache[ l_oVertex ] != null ) continue;
+				if( m_oCache[ l_oVertex ] != null ) continue;
 				// --
  				l_nCste = 	1 / ( l_oVertex.wx * mp41 + l_oVertex.wy * mp42 + 
l_oVertex.wz * mp43 + mp44 );
  				l_oVertex.sx =  l_nCste * ( l_oVertex.wx * mp11 + l_oVertex.wy * 
mp12 + l_oVertex.wz * mp13 + mp14 ) * m_nOffx + l_nX;
  				l_oVertex.sy = -l_nCste * ( l_oVertex.wx * mp21 + l_oVertex.wy * 
mp22 + l_oVertex.wz * mp23 + mp24 ) * m_nOffy + l_nY;
 				//nbVertices += 1;
-				//m_oCache[ l_oVertex ] = l_oVertex;
+				m_oCache[ l_oVertex ] = l_oVertex;
 			}
 		}
 				

Modified: trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Shape3D.as
==============================================================================
--- trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Shape3D.as	(original)
+++ trunk/sandy/as3/trunk/src/sandy/core/scenegraph/Shape3D.as	Tue Jun 
10 07:08:27 2008
@@ -16,15 +16,14 @@

 package sandy.core.scenegraph
 {
-	import flash.utils.Dictionary;
 	import flash.display.Sprite;
 	import flash.events.Event;
 	import flash.events.MouseEvent;
 	import flash.geom.Point;
+	import flash.utils.Dictionary;
 	
 	import sandy.bounds.BBox;
 	import sandy.bounds.BSphere;
-	import sandy.core.SandyFlags;
 	import sandy.core.Scene3D;
 	import sandy.core.data.Matrix4;
 	import sandy.core.data.Polygon;
@@ -258,7 +257,7 @@
 					
 			var  	l_nZNear:Number = p_oCamera.near,
 	        		l_oMatrix:Matrix4 = viewMatrix, l_oFrustum:Frustum = p_oCamera.frustrum,
-					l_oVertex:Vertex, l_oFace:Polygon, l_nMinZ:Number, 
l_oCamPos:Vector, cache:Dictionary = new Dictionary(false);
+					l_oVertex:Vertex, l_oFace:Polygon, l_nMinZ:Number, 
l_oCamPos:Vector = new Vector(), cache:Dictionary = new Dictionary(false);
 			
 			// -- fast camera model matrix inverssion
 			invModelMatrix.n11 = modelMatrix.n11;
@@ -275,6 +274,7 @@
  			invModelMatrix.n34 = -(modelMatrix.n13 * modelMatrix.n14 + 
modelMatrix.n23 * modelMatrix.n24 + modelMatrix.n33 * modelMatrix.n34);
 			
  			l_oCamPos.reset(p_oCamera.modelMatrix.n14, 
p_oCamera.modelMatrix.n24, p_oCamera.modelMatrix.n34);
+			//l_oCamPos.reset(p_oCamera.x, p_oCamera.y, p_oCamera.z);
 			invModelMatrix.vectorMult( l_oCamPos );
 			
 			// -- Now we can transform the objet vertices into the camera coordinates
@@ -293,19 +293,13 @@
             {
                 l_oFace.isClipped = false;
                 // -- visibility test
-                /*
                 if( m_bBackFaceCulling )
                 {
-	                x =  l_oFace.normal.x ; y = l_oFace.normal.y ; z = l_oFace.normal.z ;
 	                // -- visibility computation
-	                x = l_oFace.a.x*( l_oCamPos.x - x) + l_oFace.a.y*( 
l_oCamPos.y - y) + l_oFace.a.z*( l_oCamPos.z - z);
-	                l_oFace.visible = x < 0;
+	                l_oFace.visible = (l_oFace.normal.x*( l_oCamPos.x - 
l_oFace.a.x) + l_oFace.normal.y*( l_oCamPos.y - l_oFace.a.y) + 
l_oFace.normal.z*( l_oCamPos.z - l_oFace.a.z)) > 0;
 	                if( l_oFace.visible == false )
 	                	continue;
                 }
-                */
-                l_oFace.visible = true;
-                m_bClipped = false;
                 // --
                 if( cache[ l_oFace.a ] == null )
                 {



More information about the Sandy mailing list