diff --git a/Kav b/Kav index 66d4e5b..565be37 160000 --- a/Kav +++ b/Kav @@ -1 +1 @@ -Subproject commit 66d4e5bf6e78949f6e5b2fc9eb1983d438047f0b +Subproject commit 565be374bbb539ee652d0fa3b240bafb066bab18 diff --git a/KavTest/Components/AmbientLightComponent.cs b/KavTest/Components/AmbientLightComponent.cs new file mode 100644 index 0000000..ba13414 --- /dev/null +++ b/KavTest/Components/AmbientLightComponent.cs @@ -0,0 +1,15 @@ +using Encompass; +using Microsoft.Xna.Framework; + +namespace KavTest.Components +{ + public struct AmbientLightComponent : IComponent + { + public Color Color { get; } + + public AmbientLightComponent(Color color) + { + Color = color; + } + } +} diff --git a/KavTest/KavTestGame.cs b/KavTest/KavTestGame.cs index ed3d800..aa35d33 100644 --- a/KavTest/KavTestGame.cs +++ b/KavTest/KavTestGame.cs @@ -122,6 +122,12 @@ namespace KavTest )); } + var ambientLightEntity = WorldBuilder.CreateEntity(); + + WorldBuilder.SetComponent(ambientLightEntity, new AmbientLightComponent( + new Color(0.3f, 0.3f, 0.3f) + )); + WorldBuilder.SendMessage(new DirectionalLightSpawnMessage( Quaternion.CreateFromAxisAngle(Vector3.Right, Microsoft.Xna.Framework.MathHelper.PiOver4), Color.LightGoldenrodYellow, diff --git a/KavTest/Renderers/SceneRenderer.cs b/KavTest/Renderers/SceneRenderer.cs index 0bfe6c0..b0a5426 100644 --- a/KavTest/Renderers/SceneRenderer.cs +++ b/KavTest/Renderers/SceneRenderer.cs @@ -42,6 +42,21 @@ namespace KavTest.Renderers } } + private AmbientLight AmbientLight + { + get + { + if (SomeComponent()) + { + return new AmbientLight(ReadComponent().Color); + } + else + { + return new AmbientLight(Color.Black); + } + } + } + private IEnumerable PointLights { get @@ -118,10 +133,17 @@ namespace KavTest.Renderers // ); // } - Renderer.DeferredRender( + // Renderer.DeferredRender( + // camera, + // ModelTransforms, + // PointLights, + // DirectionalLight() + // ); + + Renderer.DeferredToonRender( camera, ModelTransforms, - PointLights, + AmbientLight, DirectionalLight() );