 void eavlRayTracerMutator::setColorMap3f(float* cmap,int size)
 {
     colorMapSize=size;
-    if(colorMapTex!=NULL)
-    {
-        colorMapTex->unbind(colorMapRef);
-        delete colorMapTex;
+    if(color_map_array!=NULL)
+    {
+        color_map_array->unbind(color_map_tref);
+        delete color_map_array;
     }
     if(colorMap_raw!=NULL)
     {


    eavlExecutor::AddOperation(new_eavlMapOp(eavlOpArgs(rayDirX,rayDirY,rayDirZ,rayOriginX,rayOriginY,rayOriginZ,hitIdx,primitiveTypeHit,minDistances),
                                                 eavlOpArgs(dummy, depthBuffer, primitiveTypeHit),
                                                 RayIntersectFunctor(vertsTex,bvhTex,bvhLeafsTex, TRIANGLE )),
                                                                                                    "intersect");
    eavlExecutor::Go();
    float maxDepth=0;

        }
        else
        {
            float4 n4=bvh.getValue(tri_bvh_in_tref, currentNode+3); //(leftChild, rightChild, pad,pad)
            int leftChild =(int)n4.x;
            int rightChild=(int)n4.y;

