From eed61d126d223e368ea5a1e64939d7cd4a60b619 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Thu, 1 Oct 2020 22:27:41 -0700 Subject: [PATCH] add some more test models --- Kav | 2 +- KavTest/Content/bluetorus.glb | 3 ++ KavTest/Content/pinkcone.glb | 3 ++ KavTest/Content/redcylinder.glb | 3 ++ KavTest/KavTestGame.cs | 72 +++++++++++++++++++++++++----- KavTest/Renderers/SceneRenderer.cs | 9 ++-- 6 files changed, 74 insertions(+), 18 deletions(-) create mode 100644 KavTest/Content/bluetorus.glb create mode 100644 KavTest/Content/pinkcone.glb create mode 100644 KavTest/Content/redcylinder.glb diff --git a/Kav b/Kav index 565be37..2fb2074 160000 --- a/Kav +++ b/Kav @@ -1 +1 @@ -Subproject commit 565be374bbb539ee652d0fa3b240bafb066bab18 +Subproject commit 2fb20747e4978d1b745cde76a1bcac452dfd34e7 diff --git a/KavTest/Content/bluetorus.glb b/KavTest/Content/bluetorus.glb new file mode 100644 index 0000000..d28ddb4 --- /dev/null +++ b/KavTest/Content/bluetorus.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ca325ede4de44908d99a68085b4af200aed5a39bacd54dab1ba6cd49913b3f1 +size 28768 diff --git a/KavTest/Content/pinkcone.glb b/KavTest/Content/pinkcone.glb new file mode 100644 index 0000000..f257c48 --- /dev/null +++ b/KavTest/Content/pinkcone.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171a813b5bd49f44ab74aa554e3b5a65ba60dcb971e6cfa6143d653ee08cda74 +size 3892 diff --git a/KavTest/Content/redcylinder.glb b/KavTest/Content/redcylinder.glb new file mode 100644 index 0000000..4557b6b --- /dev/null +++ b/KavTest/Content/redcylinder.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b6b7fc5973c17bb6ce80993d52f5f1542e106693ce227bb629d50353dad172 +size 8344 diff --git a/KavTest/KavTestGame.cs b/KavTest/KavTestGame.cs index aa35d33..7902ff0 100644 --- a/KavTest/KavTestGame.cs +++ b/KavTest/KavTestGame.cs @@ -50,8 +50,14 @@ namespace KavTest var rustyBallModel = Kav.ModelLoader.Load( GraphicsDevice, - Smuggler.Importer.ImportGLB(GraphicsDevice, File.OpenRead("Content/rustysphere.glb")) + Smuggler.Importer.ImportGLB( + GraphicsDevice, + File.OpenRead("Content/rustysphere.glb") + ) ); + rustyBallModel.DisableNormalMaps(); + rustyBallModel.DisableAlbedoMaps(); + rustyBallModel.Albedo = Color.DeepSkyBlue; var lightBulbModel = Kav.ModelLoader.Load( GraphicsDevice, @@ -68,6 +74,30 @@ namespace KavTest Smuggler.Importer.ImportGLB(GraphicsDevice, File.OpenRead("Content/avocado.glb")) ); + var redCylinderModel = Kav.ModelLoader.Load( + GraphicsDevice, + Smuggler.Importer.ImportGLB( + GraphicsDevice, + File.OpenRead("Content/redcylinder.glb") + ) + ); + + var pinkConeModel = Kav.ModelLoader.Load( + GraphicsDevice, + Smuggler.Importer.ImportGLB( + GraphicsDevice, + File.OpenRead("Content/pinkcone.glb") + ) + ); + + var blueTorusModel = Kav.ModelLoader.Load( + GraphicsDevice, + Smuggler.Importer.ImportGLB( + GraphicsDevice, + File.OpenRead("Content/bluetorus.glb") + ) + ); + WorldBuilder.AddEngine(new InputEngine(this)); WorldBuilder.AddEngine(new AngularVelocityEngine()); WorldBuilder.AddEngine(new MoveAlongCurve3DEngine()); @@ -94,22 +124,40 @@ namespace KavTest // new Vector3(-1, 1, 1) // )); + WorldBuilder.SendMessage(new StaticModelSpawnMessage( + new Transform3D(new Vector3(0, 1, 0), Quaternion.Identity, new Vector3(1f, 1f, 1f)), + rustyBallModel + )); + WorldBuilder.SendMessage(new StaticModelSpawnMessage( new Transform3D(new Vector3(0, -3, 0), Quaternion.Identity, new Vector3(10f, 1f, 10f)), floorModel )); - var entity = WorldBuilder.CreateEntity(); - - WorldBuilder.SetComponent(entity, new Transform3DComponent( + WorldBuilder.SendMessage(new StaticModelSpawnMessage( new Transform3D( - new Vector3(0, 1, 0), - Quaternion.CreateFromAxisAngle(Vector3.Right, -Microsoft.Xna.Framework.MathHelper.PiOver2), - new Vector3(30, 30, 30)) - ) - ); - WorldBuilder.SetComponent(entity, new ModelComponent(avocadoModel)); + new Vector3(-3, 1, 0), + Quaternion.CreateFromAxisAngle( + Vector3.Right, + -Microsoft.Xna.Framework.MathHelper.PiOver2 + ), + new Vector3(1f, 1f, 1f) + ), + blueTorusModel + )); + WorldBuilder.SendMessage(new StaticModelSpawnMessage( + new Transform3D( + new Vector3(3, 1, 0), + Quaternion.CreateFromAxisAngle( + Vector3.Right, + -Microsoft.Xna.Framework.MathHelper.PiOver2 + ), + new Vector3(1f, 1f, 1f) + ), + pinkConeModel + )); + for (var i = 0; i < 1; i++) { var start = RandomHelper.RandomVector3(-5, 5); @@ -125,11 +173,11 @@ namespace KavTest var ambientLightEntity = WorldBuilder.CreateEntity(); WorldBuilder.SetComponent(ambientLightEntity, new AmbientLightComponent( - new Color(0.3f, 0.3f, 0.3f) + new Color(0.4f, 0.4f, 0.4f) )); WorldBuilder.SendMessage(new DirectionalLightSpawnMessage( - Quaternion.CreateFromAxisAngle(Vector3.Right, Microsoft.Xna.Framework.MathHelper.PiOver4), + Quaternion.CreateFromAxisAngle(Vector3.Right, Microsoft.Xna.Framework.MathHelper.Pi / 3f), Color.LightGoldenrodYellow, 0.7f )); diff --git a/KavTest/Renderers/SceneRenderer.cs b/KavTest/Renderers/SceneRenderer.cs index b0a5426..d6369e0 100644 --- a/KavTest/Renderers/SceneRenderer.cs +++ b/KavTest/Renderers/SceneRenderer.cs @@ -19,6 +19,7 @@ namespace KavTest.Renderers { foreach (var entity in ReadEntitiesAsEnumerable()) { + /* FIXME: this transformation should definitely not go here */ var transformComponent = GetComponent(entity); var modelComponent = GetComponent(entity); if (HasComponent(entity)) @@ -29,11 +30,8 @@ namespace KavTest.Renderers { foreach (var meshPart in mesh.MeshParts) { - if (meshPart.Effect is DeferredPBR_GBufferEffect gBufferEffect) - { - gBufferEffect.AlbedoTexture = null; - gBufferEffect.Albedo = overrideAlbedoComponent.Color; - } + meshPart.DisableAlbedoMap = true; + meshPart.Albedo = overrideAlbedoComponent.Color; } } } @@ -136,6 +134,7 @@ namespace KavTest.Renderers // Renderer.DeferredRender( // camera, // ModelTransforms, + // AmbientLight, // PointLights, // DirectionalLight() // );