private void ShowOneDebugPixelAt(Vector3 p, System.Drawing.Color c)
 {
     if (mNumPixelNodesUsed >= mPixelsToShow.numChildren())
     {
         // need to create new ones
         UWB_Primitive prim = CreateSphereMesh();
         prim.EnableLighting(false);
         UWB_SceneNode pNode = new UWB_SceneNode();
         pNode.setPrimitive(prim);
         UWB_XFormInfo xf = pNode.getXFormInfo();
         xf.SetTranslation(p);
         xf.SetScale(new Vector3(kPixelSize));
         pNode.setXFormInfo(xf);
         prim.Material.Diffuse  = Vector4.Zero;
         prim.Material.Specular = Vector4.Zero;
         prim.Material.Ambient  = Vector4.Zero;
         prim.Material.Emissive = new Vector4(c.R / 255.0f, c.G / 255.0f, c.B / 255.0f, 1f);
         mPixelsToShow.insertChildNode(pNode);
     }
     else
     {
         // there are more to be reused ...
         UWB_SceneNode n  = mPixelsToShow.getChildNode(mNumPixelNodesUsed);
         UWB_XFormInfo xf = n.getXFormInfo();
         xf.SetTranslation(new Vector3(p.X, p.Y, p.Z));
         UWB_Primitive prim = n.getPrimitive();
         prim.setVisible(true);
         prim.Material.Diffuse  = Vector4.Zero;
         prim.Material.Specular = Vector4.Zero;
         prim.Material.Ambient  = Vector4.Zero;
         prim.Material.Emissive = new Vector4(c.R / 255.0f, c.G / 255.0f, c.B / 255.0f, 1f);
     }
 }