public void ProcessCollision(Tags.Sbsp.TagBsp bsp)
        {
            float   c = 0xfffffffffffff;
            Vector3 point;

            float[] UV;
            short   LIx;
            float   t;

            for (int i = 0; i < bsp.GetLightMapCount; i++)
            {
                Prometheus.Core.Tags.Sbsp.BSP_LIGHTMAP tmp = bsp.GetLightMap(i);
                if (tmp.RayAABBTest(this.pos, this.dir, out point, out UV, out LIx, out t))
                {
                    if (LIx != -1)
                    {
                        if (t < c)
                        {
                            MdxRender.lightmapDebugger.AddIntersectPoint(point);
                            MdxRender.lightmapDebugger.AddRay(pos, point);
                            Render.SetTexel(UV[0], UV[1], this.color, LIx);
                            this.pos = point;
                            this.dir = this.GetNewDirection();
                        }
                    }
                }
            }
        }
 public Scene(Tags.Sbsp.TagBsp bsp)
 {
     this.bsp     = bsp;
     this.scenery = new Model3D[0];
     this.lights  = new LightSource[0];
 }