diff --git a/CMakeLists.txt b/CMakeLists.txt index 69a95bd..700b4cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,8 @@ find_package(Ktx CONFIG REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) find_package(fmt CONFIG REQUIRED) find_package(lunasvg CONFIG REQUIRED) +find_package(metis CONFIG REQUIRED) +find_package(meshoptimizer CONFIG REQUIRED) find_package(VulkanMemoryAllocator CONFIG REQUIRED) add_library(MeshShadingDemo SHARED "") diff --git a/import/models/main1_sponza/Render_Main_A.png b/import/models/main1_sponza/Render_Main_A.png deleted file mode 100644 index e657411..0000000 Binary files a/import/models/main1_sponza/Render_Main_A.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_B.png b/import/models/main1_sponza/Render_Main_B.png deleted file mode 100644 index ecc5979..0000000 Binary files a/import/models/main1_sponza/Render_Main_B.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_C.png b/import/models/main1_sponza/Render_Main_C.png deleted file mode 100644 index 2f6d0ea..0000000 Binary files a/import/models/main1_sponza/Render_Main_C.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_D.png b/import/models/main1_sponza/Render_Main_D.png deleted file mode 100644 index f5dae5d..0000000 Binary files a/import/models/main1_sponza/Render_Main_D.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_E.png b/import/models/main1_sponza/Render_Main_E.png deleted file mode 100644 index 6c3fa37..0000000 Binary files a/import/models/main1_sponza/Render_Main_E.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_E_USD_Fix.png b/import/models/main1_sponza/Render_Main_E_USD_Fix.png deleted file mode 100644 index 6ba99e3..0000000 Binary files a/import/models/main1_sponza/Render_Main_E_USD_Fix.png and /dev/null differ diff --git a/import/models/main1_sponza/Render_Main_F.png b/import/models/main1_sponza/Render_Main_F.png deleted file mode 100644 index dda7b2f..0000000 Binary files a/import/models/main1_sponza/Render_Main_F.png and /dev/null differ diff --git a/import/models/main1_sponza/arch_stone_wall_01_BaseColor.png b/import/models/main1_sponza/arch_stone_wall_01_BaseColor.png new file mode 100644 index 0000000..1c09986 Binary files /dev/null and b/import/models/main1_sponza/arch_stone_wall_01_BaseColor.png differ diff --git a/import/models/main1_sponza/arch_stone_wall_01_Normal.png b/import/models/main1_sponza/arch_stone_wall_01_Normal.png new file mode 100644 index 0000000..9a92048 Binary files /dev/null and b/import/models/main1_sponza/arch_stone_wall_01_Normal.png differ diff --git a/import/models/main1_sponza/arch_stone_wall_01_Roughnessarch_stone_wall_01_Metalness.png b/import/models/main1_sponza/arch_stone_wall_01_Roughnessarch_stone_wall_01_Metalness.png new file mode 100644 index 0000000..9b1bf1c Binary files /dev/null and b/import/models/main1_sponza/arch_stone_wall_01_Roughnessarch_stone_wall_01_Metalness.png differ diff --git a/import/models/main1_sponza/floor.glb b/import/models/main1_sponza/floor.glb new file mode 100644 index 0000000..45bb1e4 Binary files /dev/null and b/import/models/main1_sponza/floor.glb differ diff --git a/import/models/main1_sponza/floor_tiles_01_BaseColor.png b/import/models/main1_sponza/floor_tiles_01_BaseColor.png new file mode 100644 index 0000000..f391a4a Binary files /dev/null and b/import/models/main1_sponza/floor_tiles_01_BaseColor.png differ diff --git a/import/models/main1_sponza/floor_tiles_01_Normal.png b/import/models/main1_sponza/floor_tiles_01_Normal.png new file mode 100644 index 0000000..0343d9b Binary files /dev/null and b/import/models/main1_sponza/floor_tiles_01_Normal.png differ diff --git a/import/models/main1_sponza/floor_tiles_01_Roughnessfloor_tiles_01_Metalness.png b/import/models/main1_sponza/floor_tiles_01_Roughnessfloor_tiles_01_Metalness.png new file mode 100644 index 0000000..86bc5e9 Binary files /dev/null and b/import/models/main1_sponza/floor_tiles_01_Roughnessfloor_tiles_01_Metalness.png differ diff --git a/import/models/main1_sponza/Render_Main_E_Fix.png b/import/models/main1_sponza/metal_door_01_BaseColor.png similarity index 57% rename from import/models/main1_sponza/Render_Main_E_Fix.png rename to import/models/main1_sponza/metal_door_01_BaseColor.png index d163641..96c8030 100644 Binary files a/import/models/main1_sponza/Render_Main_E_Fix.png and b/import/models/main1_sponza/metal_door_01_BaseColor.png differ diff --git a/import/models/main1_sponza/metal_door_01_Normal.png b/import/models/main1_sponza/metal_door_01_Normal.png new file mode 100644 index 0000000..ea9227b Binary files /dev/null and b/import/models/main1_sponza/metal_door_01_Normal.png differ diff --git a/import/models/main1_sponza/metal_door_01_Roughnessmetal_door_01_Metalness.png b/import/models/main1_sponza/metal_door_01_Roughnessmetal_door_01_Metalness.png new file mode 100644 index 0000000..39700e8 Binary files /dev/null and b/import/models/main1_sponza/metal_door_01_Roughnessmetal_door_01_Metalness.png differ diff --git a/import/models/main1_sponza/stone_01_tile_BaseColor.png b/import/models/main1_sponza/stone_01_tile_BaseColor.png new file mode 100644 index 0000000..a3e698b Binary files /dev/null and b/import/models/main1_sponza/stone_01_tile_BaseColor.png differ diff --git a/import/models/main1_sponza/stone_01_tile_Normal.png b/import/models/main1_sponza/stone_01_tile_Normal.png new file mode 100644 index 0000000..ed9bb4c Binary files /dev/null and b/import/models/main1_sponza/stone_01_tile_Normal.png differ diff --git a/import/models/main1_sponza/stone_01_tile_Roughnessstone_01_tile_Metalness.png b/import/models/main1_sponza/stone_01_tile_Roughnessstone_01_tile_Metalness.png new file mode 100644 index 0000000..bdd4931 Binary files /dev/null and b/import/models/main1_sponza/stone_01_tile_Roughnessstone_01_tile_Metalness.png differ diff --git a/src/MeshShadingDemoGame.cpp b/src/MeshShadingDemoGame.cpp index 314c532..eff1014 100644 --- a/src/MeshShadingDemoGame.cpp +++ b/src/MeshShadingDemoGame.cpp @@ -20,7 +20,7 @@ MeshShadingDemoGame::~MeshShadingDemoGame() void MeshShadingDemoGame::setupScene(PScene scene, PSystemGraph graph) { flyCam = new FlyCam(scene); - flyCam->attachComponent(Vector4(0, 0, 0, 0), Vector4(1, 1, 1, 2)); + flyCam->attachComponent(Vector(1, 1, 1), 1.0f, 2.0f); flyCam->getCamera().mainCamera = true; followCam = new PathFollowCam(scene); @@ -184,10 +184,10 @@ void MeshShadingDemoGame::setupScene(PScene scene, PSystemGraph graph) } - test = new StaticMeshActor(scene, AssetRegistry::findMesh("sponza", "sponza")); + test = new StaticMeshActor(scene, AssetRegistry::findMesh("rttest", "rttest")); //test->getTransform().setScale(Vector(0.01, 0.01, 0.01)); - for (int32 y = -40; y < 40; ++y) + /*for (int32 y = -40; y < 40; ++y) { for (int32 x = -40; x < 40; ++x) { @@ -196,10 +196,13 @@ void MeshShadingDemoGame::setupScene(PScene scene, PSystemGraph graph) .height = 0, }); } - } + }*/ - pointLight = new PointLightActor(scene, Vector(5, 0, 0), 4, Vector(1, 1, 1), 1); - light = new DirectionalLightActor(scene, Vector(1, 1, 1), 1, Vector(1, -0.4, 0.2)); + center = new PointLightActor(scene, Vector(0, 0, 0), 10, Vector(1, 1, 1), 10); + xAxis = new PointLightActor(scene, Vector(10, 0, 0), 10, Vector(1, 0, 0), 10); + yAxis = new PointLightActor(scene, Vector(0, 10, 0), 10, Vector(0, 1, 0), 10); + zAxis = new PointLightActor(scene, Vector(0, 0, 10), 10, Vector(0, 0, 1), 10); + light = new DirectionalLightActor(scene, Vector(1, 1, 1), 1, Vector(0.4, -0.4, 0)); graph->addSystem(new FlyCamSystem(scene)); graph->addSystem(new SplineCamSystem(scene)); } diff --git a/src/MeshShadingDemoGame.h b/src/MeshShadingDemoGame.h index 242e4d1..bfbca3f 100644 --- a/src/MeshShadingDemoGame.h +++ b/src/MeshShadingDemoGame.h @@ -24,7 +24,10 @@ private: OFlyCam flyCam; OPathFollowCam followCam; ODirectionalLightActor light; - OPointLightActor pointLight; + OPointLightActor center; + OPointLightActor xAxis; + OPointLightActor yAxis; + OPointLightActor zAxis; }; extern "C" MESHSHADINGDEMO_API Game* createInstance(); diff --git a/src/System/FlyCamSystem.cpp b/src/System/FlyCamSystem.cpp index 78ce387..f7b9b97 100644 --- a/src/System/FlyCamSystem.cpp +++ b/src/System/FlyCamSystem.cpp @@ -50,6 +50,5 @@ void FlyCamSystem::update(Component::KeyboardInput& input, Component::Camera& ca transform.setRotation(glm::rotate(transform.getRotation(), input.deltaX / 500, Vector(0, 1, 0))); transform.setRotation(glm::rotate(transform.getRotation(), input.deltaY / 500, transform.getRight())); } - light.colorRange.w += input.scrollY * 0.1; - light.positionWS = Vector4(transform.getPosition(), 1); + light.attenuation += input.scrollY * 0.1; } \ No newline at end of file diff --git a/vcpkg.json b/vcpkg.json index e5182c0..31abe54 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -14,6 +14,8 @@ "vulkan-memory-allocator", "lunasvg", "harfbuzz", - "shader-slang" + "shader-slang", + "metis", + "meshoptimizer" ] } \ No newline at end of file