             
 
             currentNode=-currentNode; //swap the neg address 
-            int numTri=(int)bvhLeafs.getValue(bvhLeafTexRef,currentNode)+1;
+            int numTri=(int)bvhLeafs.getValue(tri_bvh_lf_tref,currentNode)+1;
 
             for(int i=1;i<numTri;i++)
             {        
-                    int triIndex=(int)bvhLeafs.getValue(bvhLeafTexRef,currentNode+i);
-                    float4 a4=verts.getValue(vertsTexRef, triIndex*3);
-                    float4 b4=verts.getValue(vertsTexRef, triIndex*3+1);
-                    float4 c4=verts.getValue(vertsTexRef, triIndex*3+2);
+                    int triIndex=(int)bvhLeafs.getValue(tri_bvh_lf_tref,currentNode+i);
+                    float4 a4=verts.getValue(tri_verts_tref, triIndex*3);
+                    float4 b4=verts.getValue(tri_verts_tref, triIndex*3+1);
+                    float4 c4=verts.getValue(tri_verts_tref, triIndex*3+2);
                     eavlVector3 e1( a4.w-a4.x , b4.x-a4.y, b4.y-a4.z ); 
                     eavlVector3 e2( b4.z-a4.x , b4.w-a4.y, c4.x-a4.z );
 

        if(currentNode>-1)
        {

            float4 n1=bvh.getValue(bvhInnerTexRef, currentNode  ); //(txmin0, tymin0, tzmin0, txmax0)
            float4 n2=bvh.getValue(bvhInnerTexRef, currentNode+1); //(tymax0, tzmax0, txmin1, tymin1)
            float4 n3=bvh.getValue(bvhInnerTexRef, currentNode+2); //(tzmin1, txmax1, tymax1, tzmax1)
            
            float txmin0 =   n1.x* invDirx -odirx;       
            float tymin0 =   n1.y* invDiry -odiry;         

    {
        eavlExecutor::AddOperation(new_eavlMapOp(eavlOpArgs(rayDirX,rayDirY,rayDirZ,rayOriginX,rayOriginY,rayOriginZ,hitIdx,primitiveTypeHit,minDistances),
                                                 eavlOpArgs(dummy, dummyFloat, primitiveTypeHit),
                                                 RayIntersectFunctor(tri_verts_array,tri_bvh_in_array,tri_bvh_lf_array, TRIANGLE )),
                                                                                                    "intersect");
        eavlExecutor::Go();
    }
