private void AddLights(RayTracer_552.SceneDatabase rtScene)
        {
            UWB_XNAGraphicsDevice.m_TheAPI.LightManager.ResetAllLights();
            for (int l = 0; l < rtScene.GetNumLights(); l++)
            {
                RTLight lgt = rtScene.GetLight(l);
                Vector4 useColor = new Vector4(lgt.GetColor(new Vector3(0,0,0)),1f);
                UWB_XNALight theLight = null;

                if (lgt.GetLightSourceType() == RTLightType.RTLightSourceType.RTLightSourceTypeDirection)
                {
                    theLight = UWB_XNAGraphicsDevice.m_TheAPI.LightManager.CreateDirectionalLight();
                }
                else if (lgt.GetLightSourceType() == RTLightType.RTLightSourceType.RTLightSourceTypeSpot)
                {
                    theLight = UWB_XNAGraphicsDevice.m_TheAPI.LightManager.CreateSpotLight();
                }
                else
                {
                    theLight = UWB_XNAGraphicsDevice.m_TheAPI.LightManager.CreatePointLight();
                }

                theLight.Ambient = Vector4.Zero;
                theLight.Diffuse = useColor;
                theLight.Specular = useColor;
                theLight.Position = lgt.GetLightPosition();
                theLight.Direction = -lgt.GetNormalizedDirection(Vector3.Zero);
                theLight.Color = useColor;
                theLight.Attenuation = new Vector3(1f, 0.0f, 0.0f);
                theLight.Range = 10000f;
                theLight.SwitchOnLight();

                UWB_Primitive prim = CreateSphereMesh();
                SetMeshMaterial(prim, rtScene.GetMaterial(0));
                float scale = 0.25f;
                CreateNode(lgt.GetLightPosition(), scale, scale, scale, prim);
            }
        }