コード例 #1
0
        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();
        }
コード例 #2
0
 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);
             }
         }
     }
 }