private void CreateSceneLight() { SceneLight = new PulsarLight("MainDirectionalLight", this, SceneDebugRenderer) { PulsarComponentClass = PulsarComponent.ComponentClass.Node, PulsarComponentType = PulsarComponent.ComponentType.Light, InDesign = _inDesign }; PulsarModel model = new PulsarModel(SceneLight.GetEntityName()); SceneLight.BaseEntity.AddComponent(model); //baseEntity.AddComponent(model); model.SetModel("Models/Box.mdl"); PulsarMaterial material = new PulsarMaterial(SceneLight.GetEntityName()); SceneLight.BaseEntity.AddComponent(material); //baseEntity.AddComponent(material); material.SetMaterial("Materials/StoneTiled.xml"); model.SetMaterial(material); SceneLight.CreateEntity(); SceneLight.SetDirection(new Vector3(0.6f, -1.0f, 0.8f)); SceneLight.SetPosition(new Vector3(0, 10, 0)); SceneLight.Light.LightType = LightType.Directional; SceneLight.Light.Brightness = 1.1f; SceneLight.Light.CastShadows = true; SceneLight.SetExtendedProperties(); SceneLight.BaseEntity.SetupProperties(); }
private void DrawDebugLight() { //find the main scene light if (DisplayScene != null) { PulsarLight mainLight = DisplayScene.SceneLight; if (mainLight != null) { //get the debugger renderer var renderer = DisplayScene.SceneDebugRenderer; if (renderer != null) { renderer.AddLine(mainLight.Light.Node.Position, mainLight.Light.Frustum.Vertices[4], Color.Red, true); renderer.AddLine(mainLight.Light.Node.Position, mainLight.Light.Frustum.Vertices[5], Color.Red, true); renderer.AddLine(mainLight.Light.Node.Position, mainLight.Light.Frustum.Vertices[6], Color.Red, true); renderer.AddLine(mainLight.Light.Node.Position, mainLight.Light.Frustum.Vertices[7], Color.Red, true); } } } }