[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