diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8a282d2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,12 @@ +*.tga filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.dll filter=lfs diff=lfs merge=lfs -text +*.json filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.obj filter=lfs diff=lfs merge=lfs -text +*.mtl filter=lfs diff=lfs merge=lfs -text +*.khe filter=lfs diff=lfs merge=lfs -text +*.7z filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 9ce16ba..25d1c42 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ build* *.user -data/* -data/*.jpg -data/*.mtl -data/*.obj -config.ini \ No newline at end of file +deploy/config.ini +deploy/imgui.ini +deploy/*.exe \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d5d08d..a6bba13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,8 +20,11 @@ set(USE_SERIALIZER True) set(USE_INPUT True) set(USE_BULLET True) set(USE_SOL2 True) +set(USE_IMGUI True) set(SFML_MODULES audio graphics) set(CMAKE_TEMPLATE_PATH "../CMakeTemplate") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/deploy) + include(${CMAKE_TEMPLATE_PATH}/template.cmake) diff --git a/data/consolas.png b/data/consolas.png deleted file mode 100644 index 3a54fe4..0000000 Binary files a/data/consolas.png and /dev/null differ diff --git a/deploy/data/ambient/1_posX.tga b/deploy/data/ambient/1_posX.tga new file mode 100644 index 0000000..4f6fe3d --- /dev/null +++ b/deploy/data/ambient/1_posX.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45812db95bd21535b6a14db30c949d67aa39545b9dd1866c103da6b74e1c62b1 +size 49196 diff --git a/deploy/data/ambient/2_negX.tga b/deploy/data/ambient/2_negX.tga new file mode 100644 index 0000000..97c95c7 --- /dev/null +++ b/deploy/data/ambient/2_negX.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daf58d6d059395121cfff3340645b1790fce56c988d5414b29d393e5f64c90cc +size 49196 diff --git a/deploy/data/ambient/3_posY.tga b/deploy/data/ambient/3_posY.tga new file mode 100644 index 0000000..a4aaddf --- /dev/null +++ b/deploy/data/ambient/3_posY.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:904069dc6c60ed9823d6379827fe6434b3a05a7331631a508f6f4b96eb208a7a +size 49196 diff --git a/deploy/data/ambient/4_negY.tga b/deploy/data/ambient/4_negY.tga new file mode 100644 index 0000000..7623b5e --- /dev/null +++ b/deploy/data/ambient/4_negY.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f4864454868b3c5b7625e82584e6a28adb1b8727e96266984c4dfc23850f25d +size 49196 diff --git a/deploy/data/ambient/5_posZ.tga b/deploy/data/ambient/5_posZ.tga new file mode 100644 index 0000000..f6df846 --- /dev/null +++ b/deploy/data/ambient/5_posZ.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08a8539cdb09329b5404e2aef67265c4bade0d7761474cd650450d94cb2b9493 +size 49196 diff --git a/deploy/data/ambient/6_negZ.tga b/deploy/data/ambient/6_negZ.tga new file mode 100644 index 0000000..295f66a --- /dev/null +++ b/deploy/data/ambient/6_negZ.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d835a097cb53d3e43ffb3e4be852c2047c8fdfed8c9d8eb218cefb2147bf3f74 +size 49196 diff --git a/data/consolas.fnt b/deploy/data/font/consolas.fnt similarity index 100% rename from data/consolas.fnt rename to deploy/data/font/consolas.fnt diff --git a/deploy/data/font/consolas.png b/deploy/data/font/consolas.png new file mode 100644 index 0000000..bf9244e --- /dev/null +++ b/deploy/data/font/consolas.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:806d86997b3a4d54945cde75c19469cc82f566beeecdb5260f15acbe7786dbec +size 19039 diff --git a/deploy/data/ibl_brdf_lut.png b/deploy/data/ibl_brdf_lut.png new file mode 100644 index 0000000..35b1f4b --- /dev/null +++ b/deploy/data/ibl_brdf_lut.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98fc63eada3ca5549bd74d518fd3e2fd5f84abcbe54366771f9c0224fa2c19f1 +size 35823 diff --git a/deploy/data/leather.jpg b/deploy/data/leather.jpg new file mode 100644 index 0000000..929af90 --- /dev/null +++ b/deploy/data/leather.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdfb67810a152660d7ddaa702e1bf8ead86cefe3f44cef45f97b34f2f8d8e00b +size 9673 diff --git a/deploy/data/sandbox.mtl b/deploy/data/sandbox.mtl new file mode 100644 index 0000000..8bdd151 --- /dev/null +++ b/deploy/data/sandbox.mtl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e2729d1b53d001080f0e4709b597a8103a98564c7e8b40753158c7a8c0744a2 +size 75 diff --git a/deploy/data/sandbox.obj b/deploy/data/sandbox.obj new file mode 100644 index 0000000..579657e --- /dev/null +++ b/deploy/data/sandbox.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84dd7a98e4102ce03cd8067bca5b395f63129ab68fd21f6e5114bb4ba7e085c8 +size 365831 diff --git a/deploy/data/skybox/1_posX.tga b/deploy/data/skybox/1_posX.tga new file mode 100644 index 0000000..3ea5b7f --- /dev/null +++ b/deploy/data/skybox/1_posX.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:936d3c5ea0589cb0600ae0d7116cafd2792e025055e0a3b7eb4ecfda2291e93b +size 12582930 diff --git a/deploy/data/skybox/2_negX.tga b/deploy/data/skybox/2_negX.tga new file mode 100644 index 0000000..89bd1e8 --- /dev/null +++ b/deploy/data/skybox/2_negX.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68288c1a11df99056d5009ddf67accc5f52677ceff0c990152ef4b643ee2e8c4 +size 12582930 diff --git a/deploy/data/skybox/3_posY.tga b/deploy/data/skybox/3_posY.tga new file mode 100644 index 0000000..8dc3621 --- /dev/null +++ b/deploy/data/skybox/3_posY.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ce096e0ce8da69464a183c9d80ea9e7937b4e960ef2774237f2a6ade2bddf50 +size 241711 diff --git a/deploy/data/skybox/4_negY.tga b/deploy/data/skybox/4_negY.tga new file mode 100644 index 0000000..de517e4 --- /dev/null +++ b/deploy/data/skybox/4_negY.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bce18ac878bf0df16f9a55d881ab076a074c257b7c24f40249ddd77d43d36c6 +size 2848272 diff --git a/deploy/data/skybox/5_posZ.tga b/deploy/data/skybox/5_posZ.tga new file mode 100644 index 0000000..aeec736 --- /dev/null +++ b/deploy/data/skybox/5_posZ.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58192d9fa5dcbc58884d90db48469197561b4b8d49d7a39c71b4521743fdc4b2 +size 12582930 diff --git a/deploy/data/skybox/6_negZ.tga b/deploy/data/skybox/6_negZ.tga new file mode 100644 index 0000000..e8c245e --- /dev/null +++ b/deploy/data/skybox/6_negZ.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:087883d665611ebec43e4b3e10abb10595a40bdd1084dbd350c1f0b4f59f542e +size 12582930 diff --git a/deploy/data/skybox/craterlake_bk.tga b/deploy/data/skybox/craterlake_bk.tga new file mode 100644 index 0000000..ac7bff3 --- /dev/null +++ b/deploy/data/skybox/craterlake_bk.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e916551b97b12ebd31228fe8ccc06523cc7ac98eee1daa76032b8fee1b0cee11 +size 769437 diff --git a/deploy/data/skybox/craterlake_dn.tga b/deploy/data/skybox/craterlake_dn.tga new file mode 100644 index 0000000..0c3146e --- /dev/null +++ b/deploy/data/skybox/craterlake_dn.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a24fd77edac34fbd9b9031754624e1fca3c047830b0820654b74e202969891 +size 757939 diff --git a/deploy/data/skybox/craterlake_ft.tga b/deploy/data/skybox/craterlake_ft.tga new file mode 100644 index 0000000..10dfccb --- /dev/null +++ b/deploy/data/skybox/craterlake_ft.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b25f9cfdaa42f9ea37596e07edc120df9261c0c695ab3cead68d7c646c2a73 +size 737349 diff --git a/deploy/data/skybox/craterlake_lf.tga b/deploy/data/skybox/craterlake_lf.tga new file mode 100644 index 0000000..e7224de --- /dev/null +++ b/deploy/data/skybox/craterlake_lf.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d5aee7e0a4041674f1ce844fbfd194972e6968002e05570c098e65530c862b +size 766552 diff --git a/deploy/data/skybox/craterlake_rt.tga b/deploy/data/skybox/craterlake_rt.tga new file mode 100644 index 0000000..f415f14 --- /dev/null +++ b/deploy/data/skybox/craterlake_rt.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:037b77efe579a762a1acc920388d4da1d16658893179502324ee89598eb69cff +size 704063 diff --git a/deploy/data/skybox/craterlake_up.tga b/deploy/data/skybox/craterlake_up.tga new file mode 100644 index 0000000..cdd495e --- /dev/null +++ b/deploy/data/skybox/craterlake_up.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc2c22f138ad728700079827f0202a91dcd7c5be10d683c887c0b2970def5d95 +size 626448 diff --git a/deploy/data/sponza.mtl b/deploy/data/sponza.mtl new file mode 100644 index 0000000..1b5724c --- /dev/null +++ b/deploy/data/sponza.mtl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6ccb4673fb99d8ee5780b60e63f307d8e839bed88df0ba5d1eab8f35239128 +size 4393 diff --git a/deploy/data/sponza.obj b/deploy/data/sponza.obj new file mode 100644 index 0000000..9cc7633 --- /dev/null +++ b/deploy/data/sponza.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b5e8fe1f9b3f26241cd50659b32863f0f388c0c53f5fcc85cc37ee354d41d84 +size 26426188 diff --git a/deploy/data/sponza/Background_Albedo.tga b/deploy/data/sponza/Background_Albedo.tga new file mode 100644 index 0000000..93c8c4a --- /dev/null +++ b/deploy/data/sponza/Background_Albedo.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:618d9dea98ee7f09b8ae157866800161db24a0ab53baa7dbbbaa5f84ddfa8d46 +size 4194348 diff --git a/deploy/data/sponza/Background_Normal.tga b/deploy/data/sponza/Background_Normal.tga new file mode 100644 index 0000000..ff11181 --- /dev/null +++ b/deploy/data/sponza/Background_Normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09042d1134d331ab3f231c2bd0033c7d770e5c070353fe1339af29129c1d36d5 +size 4194348 diff --git a/deploy/data/sponza/Background_Roughness.tga b/deploy/data/sponza/Background_Roughness.tga new file mode 100644 index 0000000..3b7a6c3 --- /dev/null +++ b/deploy/data/sponza/Background_Roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed37a704b5cec18ec5ab2f6862a2bd21adc2d2bb329a608a79a5bcd2ada642ec +size 1048620 diff --git a/deploy/data/sponza/ChainTexture_Albedo.tga b/deploy/data/sponza/ChainTexture_Albedo.tga new file mode 100644 index 0000000..e45e320 --- /dev/null +++ b/deploy/data/sponza/ChainTexture_Albedo.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c5c70113f006dd2d7d37f200a0e83d4eed29977a714e3c194b1368a83365a2d +size 4194348 diff --git a/deploy/data/sponza/ChainTexture_Metallic.tga b/deploy/data/sponza/ChainTexture_Metallic.tga new file mode 100644 index 0000000..4df0fff --- /dev/null +++ b/deploy/data/sponza/ChainTexture_Metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fff0d58ecb1804947aaac5f290cfc3cdf3744ec2f4d7451ad66f43990d0f0e69 +size 1048620 diff --git a/deploy/data/sponza/ChainTexture_Normal.tga b/deploy/data/sponza/ChainTexture_Normal.tga new file mode 100644 index 0000000..b8de754 --- /dev/null +++ b/deploy/data/sponza/ChainTexture_Normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21a672d94a32f8971063fd9b4c0fad967cc7d92617a8a544f80d253c9db966b5 +size 4194348 diff --git a/deploy/data/sponza/ChainTexture_Roughness.tga b/deploy/data/sponza/ChainTexture_Roughness.tga new file mode 100644 index 0000000..bef5555 --- /dev/null +++ b/deploy/data/sponza/ChainTexture_Roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89f7770251a80537661f19cce6dccc87376df662b39550f38e61df43f9fc46e6 +size 1048620 diff --git a/deploy/data/sponza/Dielectric_metallic.tga b/deploy/data/sponza/Dielectric_metallic.tga new file mode 100644 index 0000000..5a074df --- /dev/null +++ b/deploy/data/sponza/Dielectric_metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2255256f2be0e5ac02a9cfe796b6aaf153b3f793782833eedce84d8a9201304 +size 1048620 diff --git a/deploy/data/sponza/Lion_Albedo.tga b/deploy/data/sponza/Lion_Albedo.tga new file mode 100644 index 0000000..b344cc1 --- /dev/null +++ b/deploy/data/sponza/Lion_Albedo.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c3caf37a33546ac3e4f9d357f72097cbe1d516f67a71782af6d23060b869511 +size 4194348 diff --git a/deploy/data/sponza/Lion_Normal.tga b/deploy/data/sponza/Lion_Normal.tga new file mode 100644 index 0000000..98ca0b7 --- /dev/null +++ b/deploy/data/sponza/Lion_Normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54aa45c9f7f594bad78d0b4c8c6e7eb5e59f5e0990d76adc82ca2c888826eb68 +size 4194348 diff --git a/deploy/data/sponza/Lion_Roughness.tga b/deploy/data/sponza/Lion_Roughness.tga new file mode 100644 index 0000000..6f153df --- /dev/null +++ b/deploy/data/sponza/Lion_Roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9a65608a5e7a9bdfccc61e257584b0b40345a7c1e0d6fa29be270d29a2fe048 +size 1048620 diff --git a/deploy/data/sponza/Metallic_metallic.tga b/deploy/data/sponza/Metallic_metallic.tga new file mode 100644 index 0000000..06794ea --- /dev/null +++ b/deploy/data/sponza/Metallic_metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2147045af41c65d6df6f6d36be6e6bf7f9fcc9c6273e4da6d745d18da190d59a +size 1048620 diff --git a/deploy/data/sponza/Sponza_Arch_diffuse.tga b/deploy/data/sponza/Sponza_Arch_diffuse.tga new file mode 100644 index 0000000..17e0bc2 --- /dev/null +++ b/deploy/data/sponza/Sponza_Arch_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbfa887b19e049cd57fbc6a0b8910a96087fc5229c60c0a3f49a2946e629b3d6 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Arch_normal.tga b/deploy/data/sponza/Sponza_Arch_normal.tga new file mode 100644 index 0000000..123633b --- /dev/null +++ b/deploy/data/sponza/Sponza_Arch_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54548f4fc29b8aee3fa11fe173a0a85afced41da856124b325e5a4df894fb505 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Arch_roughness.tga b/deploy/data/sponza/Sponza_Arch_roughness.tga new file mode 100644 index 0000000..af8af6e --- /dev/null +++ b/deploy/data/sponza/Sponza_Arch_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:600cf82eb86ea037886297f2613dd481fc859fc70e5231e7d06394806942ff78 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Bricks_a_Albedo.tga b/deploy/data/sponza/Sponza_Bricks_a_Albedo.tga new file mode 100644 index 0000000..5645f2b --- /dev/null +++ b/deploy/data/sponza/Sponza_Bricks_a_Albedo.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b17b3ff47ef041e9a25cb99a9b0b1b7060c8a9453228c1d9e807adaab57c337 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Bricks_a_Normal.tga b/deploy/data/sponza/Sponza_Bricks_a_Normal.tga new file mode 100644 index 0000000..6ef5aed --- /dev/null +++ b/deploy/data/sponza/Sponza_Bricks_a_Normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c63b64c11e9ed9fdd2527b9d33418473ca198a802d17efa45dafa9d6f554e6ed +size 4194348 diff --git a/deploy/data/sponza/Sponza_Bricks_a_Roughness.tga b/deploy/data/sponza/Sponza_Bricks_a_Roughness.tga new file mode 100644 index 0000000..0f22e7c --- /dev/null +++ b/deploy/data/sponza/Sponza_Bricks_a_Roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94781a3f9bb0de90c31f21be56592ead521fbd7633dbfb4dda293161807d62b6 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Ceiling_diffuse.tga b/deploy/data/sponza/Sponza_Ceiling_diffuse.tga new file mode 100644 index 0000000..e86d1b3 --- /dev/null +++ b/deploy/data/sponza/Sponza_Ceiling_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d33be43f978df01bd123ab26823f7803a090206a1288c9735b2856eeabf7b81 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Ceiling_normal.tga b/deploy/data/sponza/Sponza_Ceiling_normal.tga new file mode 100644 index 0000000..b884c55 --- /dev/null +++ b/deploy/data/sponza/Sponza_Ceiling_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dd812d2d78f3a26110cc3784f31bb5dcd4a1490ced9d643f6957ea06620643d +size 4194348 diff --git a/deploy/data/sponza/Sponza_Ceiling_roughness.tga b/deploy/data/sponza/Sponza_Ceiling_roughness.tga new file mode 100644 index 0000000..a4f12c5 --- /dev/null +++ b/deploy/data/sponza/Sponza_Ceiling_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:472597f9a691d9bcac70397afb51330beefbf207b8450f16401e85d9fe0d49ad +size 1048620 diff --git a/deploy/data/sponza/Sponza_Column_a_diffuse.tga b/deploy/data/sponza/Sponza_Column_a_diffuse.tga new file mode 100644 index 0000000..6a023c9 --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_a_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1725ca19928398fc06841c5b528d34ba460f8e274d1511d4ebc682ab6f0289 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_a_normal.tga b/deploy/data/sponza/Sponza_Column_a_normal.tga new file mode 100644 index 0000000..3ef72da --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_a_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54820fc64740cd5d1a2e99e658aef8914e3e2ca47077679695bb9a6ebe760ddd +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_a_roughness.tga b/deploy/data/sponza/Sponza_Column_a_roughness.tga new file mode 100644 index 0000000..b70e2cd --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_a_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0319016ade12c981fcf70f7075913317064ace995fe885abe691c4850a4bb316 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Column_b_diffuse.tga b/deploy/data/sponza/Sponza_Column_b_diffuse.tga new file mode 100644 index 0000000..11fb5ae --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_b_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:600500392f42e678921a5b762bd6351ff27dfbab8fecfad9d87da774aaa40cca +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_b_normal.tga b/deploy/data/sponza/Sponza_Column_b_normal.tga new file mode 100644 index 0000000..4f05c5e --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_b_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f473a9963e4ef6eda61da01791d8007eb617c699b149e6c033c739d707a061e0 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_b_roughness.tga b/deploy/data/sponza/Sponza_Column_b_roughness.tga new file mode 100644 index 0000000..ff0f17d --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_b_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaf3b369d27c2fedb18df22ce794e643694dee8f4c992590dfa52a477abe4b6b +size 1048620 diff --git a/deploy/data/sponza/Sponza_Column_c_diffuse.tga b/deploy/data/sponza/Sponza_Column_c_diffuse.tga new file mode 100644 index 0000000..b69f4b0 --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_c_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2d76257bad197dae9b5ffaf79b8eea1364d36e8504ae77e7acbfa1cca11b0b3 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_c_normal.tga b/deploy/data/sponza/Sponza_Column_c_normal.tga new file mode 100644 index 0000000..149295a --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_c_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3519bf4199fb18ddde3bf8298d47fb63bb1ea0ee508169a60a598142fc3c9d1 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Column_c_roughness.tga b/deploy/data/sponza/Sponza_Column_c_roughness.tga new file mode 100644 index 0000000..2ff697c --- /dev/null +++ b/deploy/data/sponza/Sponza_Column_c_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:988807465ada7d5875a93f88fc2cbbd96a668a12f955507f2c9d4cdaebee41f8 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Curtain_Blue_diffuse.tga b/deploy/data/sponza/Sponza_Curtain_Blue_diffuse.tga new file mode 100644 index 0000000..12819e2 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Blue_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e6f2d6d8a99365e26477cd64c7c41a4fd4a2e920fc7f8575bc71c9fdcedd6a3 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_Blue_normal.tga b/deploy/data/sponza/Sponza_Curtain_Blue_normal.tga new file mode 100644 index 0000000..7622725 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Blue_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31de3bbd96f37738da7b5a615807c6273f535ec3a15c4cf3d2de933af750bf8a +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_Green_diffuse.tga b/deploy/data/sponza/Sponza_Curtain_Green_diffuse.tga new file mode 100644 index 0000000..ac3bac4 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Green_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39e3d023b364dd4d52bc1c37dd1b1d4d6e91a1013acd52767fac6110366a131a +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_Green_normal.tga b/deploy/data/sponza/Sponza_Curtain_Green_normal.tga new file mode 100644 index 0000000..7622725 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Green_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31de3bbd96f37738da7b5a615807c6273f535ec3a15c4cf3d2de933af750bf8a +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_Red_diffuse.tga b/deploy/data/sponza/Sponza_Curtain_Red_diffuse.tga new file mode 100644 index 0000000..f7cc563 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Red_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a82d94d77b0b58238aca6e29cd03346e9a595a6642d995f47c4ca1c4b811fd30 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_Red_normal.tga b/deploy/data/sponza/Sponza_Curtain_Red_normal.tga new file mode 100644 index 0000000..7622725 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_Red_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31de3bbd96f37738da7b5a615807c6273f535ec3a15c4cf3d2de933af750bf8a +size 4194348 diff --git a/deploy/data/sponza/Sponza_Curtain_metallic.tga b/deploy/data/sponza/Sponza_Curtain_metallic.tga new file mode 100644 index 0000000..04fe981 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53dc590606e983eae0bbeb005b94c77b9c3e60d544f127e94fad3ca01b8b1844 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Curtain_roughness.tga b/deploy/data/sponza/Sponza_Curtain_roughness.tga new file mode 100644 index 0000000..22f9a09 --- /dev/null +++ b/deploy/data/sponza/Sponza_Curtain_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:561ecc0c5fb13335d529d3713b0bd1e50557e2a829ced4be6b1c425f6c694e13 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Details_diffuse.tga b/deploy/data/sponza/Sponza_Details_diffuse.tga new file mode 100644 index 0000000..21d3408 --- /dev/null +++ b/deploy/data/sponza/Sponza_Details_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d507c9ea83a4d8647c8a12faaf67266ff8cfb7866c7500ee566a94710b52cf8c +size 4194348 diff --git a/deploy/data/sponza/Sponza_Details_metallic.tga b/deploy/data/sponza/Sponza_Details_metallic.tga new file mode 100644 index 0000000..743092f --- /dev/null +++ b/deploy/data/sponza/Sponza_Details_metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff494a1e6cc9e85c824814bad475043dd017cd176ec7e7f6afe8888202972ce +size 1048620 diff --git a/deploy/data/sponza/Sponza_Details_normal.tga b/deploy/data/sponza/Sponza_Details_normal.tga new file mode 100644 index 0000000..74f0e7a --- /dev/null +++ b/deploy/data/sponza/Sponza_Details_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47de6e66368ca4046ffe6a6ad23bc9c23cbf3c86d98b5060f0e16b3e071d55a7 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Details_roughness.tga b/deploy/data/sponza/Sponza_Details_roughness.tga new file mode 100644 index 0000000..5dfd3a7 --- /dev/null +++ b/deploy/data/sponza/Sponza_Details_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d3dd567ed89d97fe21a8341f20e947b97287297c3a18779c9d390ddbfdd305e +size 1048620 diff --git a/deploy/data/sponza/Sponza_Fabric_Blue_diffuse.tga b/deploy/data/sponza/Sponza_Fabric_Blue_diffuse.tga new file mode 100644 index 0000000..b101890 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Blue_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c5353fa87304b42dd347ac124cd884a8ce1d5b5bb78130a9615712477c87d07 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_Blue_normal.tga b/deploy/data/sponza/Sponza_Fabric_Blue_normal.tga new file mode 100644 index 0000000..20ef226 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Blue_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d42f33dc4a940e203d2843809ae48dd8d8897cac97eb52bdeb5f7046ed8266b +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_Green_diffuse.tga b/deploy/data/sponza/Sponza_Fabric_Green_diffuse.tga new file mode 100644 index 0000000..0763a5d --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Green_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72729cc52475caae9fc236bfb4856a19b37ae2c37af745c061cf9023d9c4fac0 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_Green_normal.tga b/deploy/data/sponza/Sponza_Fabric_Green_normal.tga new file mode 100644 index 0000000..20ef226 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Green_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d42f33dc4a940e203d2843809ae48dd8d8897cac97eb52bdeb5f7046ed8266b +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_Red_diffuse.tga b/deploy/data/sponza/Sponza_Fabric_Red_diffuse.tga new file mode 100644 index 0000000..da031bb --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Red_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e1256c6a67543e74abb3a7b8c3f0176ea08cb650945b3cd172edaedd4817512 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_Red_normal.tga b/deploy/data/sponza/Sponza_Fabric_Red_normal.tga new file mode 100644 index 0000000..20ef226 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_Red_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d42f33dc4a940e203d2843809ae48dd8d8897cac97eb52bdeb5f7046ed8266b +size 4194348 diff --git a/deploy/data/sponza/Sponza_Fabric_metallic.tga b/deploy/data/sponza/Sponza_Fabric_metallic.tga new file mode 100644 index 0000000..2df5677 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_metallic.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aa93767d145ffc689df848ca10d793645da8e167e7101b76515a6ebc54ef850 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Fabric_roughness.tga b/deploy/data/sponza/Sponza_Fabric_roughness.tga new file mode 100644 index 0000000..5e0eb47 --- /dev/null +++ b/deploy/data/sponza/Sponza_Fabric_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3e7c976af11855803c48c33cc74d64f566675e0fc1f926ff287c88ded95f672 +size 1048620 diff --git a/deploy/data/sponza/Sponza_FlagPole_diffuse.tga b/deploy/data/sponza/Sponza_FlagPole_diffuse.tga new file mode 100644 index 0000000..1a8518b --- /dev/null +++ b/deploy/data/sponza/Sponza_FlagPole_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9852428b447b169978da56660d6fd53b6830fa18d87aafcca99f8b2f47bf1a00 +size 4194348 diff --git a/deploy/data/sponza/Sponza_FlagPole_normal.tga b/deploy/data/sponza/Sponza_FlagPole_normal.tga new file mode 100644 index 0000000..fe07610 --- /dev/null +++ b/deploy/data/sponza/Sponza_FlagPole_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2507dfe1b5db751bc84d8701c21b6d31654bcc7e2c08d552b2da64aaaba9234d +size 4194348 diff --git a/deploy/data/sponza/Sponza_FlagPole_roughness.tga b/deploy/data/sponza/Sponza_FlagPole_roughness.tga new file mode 100644 index 0000000..229a84c --- /dev/null +++ b/deploy/data/sponza/Sponza_FlagPole_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a078fdbd0da1379235e9061f60ea8674e1a97f3f09b5f0877025431ac76448d0 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Floor_diffuse.tga b/deploy/data/sponza/Sponza_Floor_diffuse.tga new file mode 100644 index 0000000..4bb07cf --- /dev/null +++ b/deploy/data/sponza/Sponza_Floor_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b050223b50846b5a18df81e7fb686a182403801ba6ebd01524962440c89c8f7 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Floor_normal.tga b/deploy/data/sponza/Sponza_Floor_normal.tga new file mode 100644 index 0000000..19eefea --- /dev/null +++ b/deploy/data/sponza/Sponza_Floor_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90197f561e5bee113e32d9c15960b6a83a4ba7d5126561d7145234e4ccd8d73c +size 4194348 diff --git a/deploy/data/sponza/Sponza_Floor_roughness.tga b/deploy/data/sponza/Sponza_Floor_roughness.tga new file mode 100644 index 0000000..df3f41e --- /dev/null +++ b/deploy/data/sponza/Sponza_Floor_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:706c1598e406badaf5677aa8a2d5e7362479ac8a77dcef440844089ee954e45b +size 1048620 diff --git a/deploy/data/sponza/Sponza_Roof_diffuse.tga b/deploy/data/sponza/Sponza_Roof_diffuse.tga new file mode 100644 index 0000000..daa991c --- /dev/null +++ b/deploy/data/sponza/Sponza_Roof_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2393198434201e294dacecc2b2c8909d20d38d7b68cd3c320bf6968f6b025d02 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Roof_normal.tga b/deploy/data/sponza/Sponza_Roof_normal.tga new file mode 100644 index 0000000..da4021c --- /dev/null +++ b/deploy/data/sponza/Sponza_Roof_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c662604d5e305be882c2c86d0f73d88a0a5173b3e082c6ff3cb69db8fd004796 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Roof_roughness.tga b/deploy/data/sponza/Sponza_Roof_roughness.tga new file mode 100644 index 0000000..eac510f --- /dev/null +++ b/deploy/data/sponza/Sponza_Roof_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28e8f7740700de5a16002afea65a77c64bd0d728fcfa3b398cb2dd0a21577457 +size 1048620 diff --git a/deploy/data/sponza/Sponza_Thorn_diffuse.tga b/deploy/data/sponza/Sponza_Thorn_diffuse.tga new file mode 100644 index 0000000..4caaee3 --- /dev/null +++ b/deploy/data/sponza/Sponza_Thorn_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52fb7426545675b27774589ec910ca8bb4ec710db06d12d9d89348ef9c49e26f +size 4194348 diff --git a/deploy/data/sponza/Sponza_Thorn_normal.tga b/deploy/data/sponza/Sponza_Thorn_normal.tga new file mode 100644 index 0000000..d99f82c --- /dev/null +++ b/deploy/data/sponza/Sponza_Thorn_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36bfc8c0b515f36ce8dd5f4466af9e6a099aeff9966a03bd6e38bd0d1a3bdaf1 +size 4194348 diff --git a/deploy/data/sponza/Sponza_Thorn_roughness.tga b/deploy/data/sponza/Sponza_Thorn_roughness.tga new file mode 100644 index 0000000..4c60bbd --- /dev/null +++ b/deploy/data/sponza/Sponza_Thorn_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad1ea4d08b4a52f5eb28e8968b01991ff9bcf990e71d4e5cf19b7edfaa92c887 +size 1048620 diff --git a/deploy/data/sponza/VaseHanging_diffuse.tga b/deploy/data/sponza/VaseHanging_diffuse.tga new file mode 100644 index 0000000..d083b0d --- /dev/null +++ b/deploy/data/sponza/VaseHanging_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31e4bf92c43cc742638df84739d3e95925fd7756c14081c977b7c30aee023fba +size 4194348 diff --git a/deploy/data/sponza/VaseHanging_normal.tga b/deploy/data/sponza/VaseHanging_normal.tga new file mode 100644 index 0000000..240f1d4 --- /dev/null +++ b/deploy/data/sponza/VaseHanging_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19168f2f9cd7e3e8e4337569f1f89608ef1ec628a106e45d16b5b18255de2ec5 +size 4194348 diff --git a/deploy/data/sponza/VaseHanging_roughness.tga b/deploy/data/sponza/VaseHanging_roughness.tga new file mode 100644 index 0000000..815a135 --- /dev/null +++ b/deploy/data/sponza/VaseHanging_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061b205040af9909c5987a66945d7dddd696afba22cbd7219810b807ff2c1c8f +size 1048620 diff --git a/deploy/data/sponza/VasePlant_diffuse.tga b/deploy/data/sponza/VasePlant_diffuse.tga new file mode 100644 index 0000000..5e4bbd2 --- /dev/null +++ b/deploy/data/sponza/VasePlant_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44cccc4f549d919a4053d2fb725f392ffd9ecd638e5eeb1fa73a2db5c55aa1e +size 4194348 diff --git a/deploy/data/sponza/VasePlant_normal.tga b/deploy/data/sponza/VasePlant_normal.tga new file mode 100644 index 0000000..396201b --- /dev/null +++ b/deploy/data/sponza/VasePlant_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4d2395d2f7527bbb104a5502cd0c3a14100d3a21ab6f72c88355ddf43053aeb +size 4194348 diff --git a/deploy/data/sponza/VasePlant_roughness.tga b/deploy/data/sponza/VasePlant_roughness.tga new file mode 100644 index 0000000..ac974eb --- /dev/null +++ b/deploy/data/sponza/VasePlant_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb2f02ab52deccaa233f80683cd88cebe3d360e191c6f3ba0a9c34a2b62bd84f +size 1048620 diff --git a/deploy/data/sponza/VaseRound_diffuse.tga b/deploy/data/sponza/VaseRound_diffuse.tga new file mode 100644 index 0000000..ab2035d --- /dev/null +++ b/deploy/data/sponza/VaseRound_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccce7168176800cea718ac76b0b780934a85fd815eeedb50518dd6165d800056 +size 4194348 diff --git a/deploy/data/sponza/VaseRound_normal.tga b/deploy/data/sponza/VaseRound_normal.tga new file mode 100644 index 0000000..5532ebb --- /dev/null +++ b/deploy/data/sponza/VaseRound_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8925c2ddbd2043aeb7569687f46e4b9d84d73ae9b6c0d8ba0277be0e5970938b +size 4194348 diff --git a/deploy/data/sponza/VaseRound_roughness.tga b/deploy/data/sponza/VaseRound_roughness.tga new file mode 100644 index 0000000..224685e --- /dev/null +++ b/deploy/data/sponza/VaseRound_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5841baf2aace722b207b83f634f8664eccfb63dd27406eb4f2daddab979a6b32 +size 1048620 diff --git a/deploy/data/sponza/Vase_diffuse.tga b/deploy/data/sponza/Vase_diffuse.tga new file mode 100644 index 0000000..172aa9f --- /dev/null +++ b/deploy/data/sponza/Vase_diffuse.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deea435bf6907d4c85c245ea62a35064e8cccd11ee206637036df7d158d33251 +size 4194348 diff --git a/deploy/data/sponza/Vase_normal.tga b/deploy/data/sponza/Vase_normal.tga new file mode 100644 index 0000000..5ba0eea --- /dev/null +++ b/deploy/data/sponza/Vase_normal.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed257534665c2461ad1b6aa0cf98654425d910479ddd02a3134fcb16c6cce34 +size 4194348 diff --git a/deploy/data/sponza/Vase_roughness.tga b/deploy/data/sponza/Vase_roughness.tga new file mode 100644 index 0000000..cc63b6a --- /dev/null +++ b/deploy/data/sponza/Vase_roughness.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cc8317f84604d42ca90fa4e7adad72aab0995ca840e1b59ae37fa3789e8e17d +size 1048620 diff --git a/deploy/data/sponza/chain_texture_mask.jpg b/deploy/data/sponza/chain_texture_mask.jpg new file mode 100644 index 0000000..51f7fc9 --- /dev/null +++ b/deploy/data/sponza/chain_texture_mask.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f07247d9c12242fe38695e64ec3ad551dfd8013f1ec95e419c3223301139807d +size 24210 diff --git a/deploy/data/sponza/copyright.txt b/deploy/data/sponza/copyright.txt new file mode 100644 index 0000000..a71ea1b --- /dev/null +++ b/deploy/data/sponza/copyright.txt @@ -0,0 +1,31 @@ +PBR textures for the Sponza model. +For more informations: www.alexandre-pestana.com + + +Original copyright: + +July 14, 2011 Morgan McGuire modified the model from Crytek's OBJ +export to correct some small errors. He computed bump maps from the +normal maps using normal2bump.cpp (since +MTL files expect height bumps, not normals), put the "mask" textures +into the alpha channel of the associated diffuse texture, cleaned up +noise in the masks, created the missing gi_flag.tga texture, and +removed the long untextured banner floating in the middle of the +atrium that appears in the file but in none of the published images of +the model. The banner is in banner.obj. + + + +http://www.crytek.com/cryengine/cryengine3/downloads + + +Sponza Model +August 19, 2010 +The Atrium Sponza Palace, Dubrovnik, is an elegant and improved model created by Frank Meinl. The original Sponza model was created by Marko Dabrovic in early 2002. Over the years, the Sponza Atrium scene has become one of the most popular 3D scenes for testing global illumination and radiosity due to it's specific architectural structure which is particularly complex for global illumination light. + +However, nowadays it is considered as a simple model, thus it was decided to crate a new model with highly improved appearance and scene complexity. It is donated to the public for radiosity and is represented in several different formats (3ds, Obj) for use with various commercial 3D applications and renderers. + + +Screenshot from the I3D paper +http://crytek.com/sites/default/files/20100301_lpv.pdf diff --git a/deploy/data/sponza/gi_flag.tga b/deploy/data/sponza/gi_flag.tga new file mode 100644 index 0000000..0b59a8a --- /dev/null +++ b/deploy/data/sponza/gi_flag.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15eb675ca87eb9989f377f4e399fde97b213890562d35d60a9d7aa7edcfb7b1d +size 49196 diff --git a/deploy/data/sponza/sponza_thorn_mask.jpg b/deploy/data/sponza/sponza_thorn_mask.jpg new file mode 100644 index 0000000..66be189 --- /dev/null +++ b/deploy/data/sponza/sponza_thorn_mask.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55d77849652745d17d6b663222493f5390c199659a9f0f0ff2b93123906b7e1a +size 113218 diff --git a/deploy/data/sponza/vase_plant_mask.jpg b/deploy/data/sponza/vase_plant_mask.jpg new file mode 100644 index 0000000..c56379a --- /dev/null +++ b/deploy/data/sponza/vase_plant_mask.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfe8646f47d00f3c8aed89d11af4714226cacdc5d8d1a348ec09a384535cf67d +size 105475 diff --git a/deploy/data/steel.jpg b/deploy/data/steel.jpg new file mode 100644 index 0000000..d57cafc --- /dev/null +++ b/deploy/data/steel.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ba8f1ef59a9cfda99149b0aca367e9211f130da99a9fdfc547cedfa1a4bcb4 +size 6474 diff --git a/deploy/data/sword.mtl b/deploy/data/sword.mtl new file mode 100644 index 0000000..88e8262 --- /dev/null +++ b/deploy/data/sword.mtl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21173927cb0e81a2acbc0e4e8382293c08d8e633f47caa3ce76f870b56b6d561 +size 129 diff --git a/deploy/data/sword.obj b/deploy/data/sword.obj new file mode 100644 index 0000000..8c6e836 --- /dev/null +++ b/deploy/data/sword.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d042e9624b5a1ca7e401cb7a87a1c2b225afba1929e3cb6f5de8d2668c53966 +size 63378 diff --git a/deploy/data/texture.png b/deploy/data/texture.png new file mode 100644 index 0000000..2f15494 --- /dev/null +++ b/deploy/data/texture.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02149b5fcd46995d3563e3c2c9c1c55f1b3427cef2017c7dc1f06de168242039 +size 1759 diff --git a/deploy/data/woodbox.jpg b/deploy/data/woodbox.jpg new file mode 100644 index 0000000..3564171 --- /dev/null +++ b/deploy/data/woodbox.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae7a152959a26719133063e09ea578786d2265c3bcd29ab9743ff6efb3277f2f +size 9286 diff --git a/deploy/libstdc++-6.dll b/deploy/libstdc++-6.dll new file mode 100644 index 0000000..6d3d90e --- /dev/null +++ b/deploy/libstdc++-6.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:544d488fcfd76749c5ef2cd6bf9f73cc9fe59a86a819d369d710cca6e43cf4b1 +size 1540622 diff --git a/deploy/openal32.dll b/deploy/openal32.dll new file mode 100644 index 0000000..0170f9a --- /dev/null +++ b/deploy/openal32.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866e65bcdba3161c5f1d0300d4ae1a0b663511ba88993d442c5f93f570258d11 +size 423936 diff --git a/src/defaultkeysmap.h b/src/defaultkeysmap.h index 3e5157d..bf8724c 100644 --- a/src/defaultkeysmap.h +++ b/src/defaultkeysmap.h @@ -8,7 +8,7 @@ class DefaultKeysMap : public IKeysMap public: enum{MAIN_ACTION, SECONDARY_ACTION, TERTIARY_ACTION, MOVE_FORWARD, MOVE_BACKWARD, STRAFE_LEFT, STRAFE_RIGHT, JUMP, TOGGLE_NOCLIP, TOGGLE_PHYSICS_DEBUG, TOGGLE_CONSOLE, - MOVE_CURSOR_LEFT, MOVE_CURSOR_RIGHT, PLOP_TEST, LEFT_CLICK, + MOVE_CURSOR_LEFT, MOVE_CURSOR_RIGHT, TOGGLE_MOUSE_CURSOR, LEFT_CLICK, EXIT_GAME,LAST_DEFAULT_ACTION}; DefaultKeysMap(){ @@ -25,7 +25,7 @@ public: keys.push_back( {{TOGGLE_CONSOLE,input::KEYBOARD}, sf::Keyboard::F3, IKeysMap::PRESSED} ); keys.push_back( {{MOVE_CURSOR_LEFT,input::KEYBOARD}, sf::Keyboard::Left, IKeysMap::PRESSED} ); keys.push_back( {{MOVE_CURSOR_RIGHT,input::KEYBOARD}, sf::Keyboard::Right, IKeysMap::PRESSED} ); -// keys.push_back( {{PLOP_TEST,input::KEYBOARD}, sf::Keyboard::F7, IKeysMap::PRESSED} ); + keys.push_back( {{TOGGLE_MOUSE_CURSOR,input::KEYBOARD}, sf::Keyboard::M, IKeysMap::PRESSED} ); keys.push_back( {{EXIT_GAME,input::KEYBOARD}, sf::Keyboard::Escape,IKeysMap::PRESSED} ); keys.push_back( {{LEFT_CLICK,input::MOUSE}, sf::Mouse::Left, IKeysMap::PRESSED} ); } @@ -43,6 +43,7 @@ public: {JUMP,input::KEYBOARD}, {TOGGLE_NOCLIP,input::KEYBOARD}, {TOGGLE_PHYSICS_DEBUG,input::KEYBOARD}, + {TOGGLE_MOUSE_CURSOR,input::KEYBOARD}, {TOGGLE_CONSOLE,input::KEYBOARD}, {EXIT_GAME,input::KEYBOARD} }; @@ -52,6 +53,7 @@ public: { return { {TOGGLE_CONSOLE,input::KEYBOARD}, + {EXIT_GAME,input::KEYBOARD}, {MOVE_CURSOR_LEFT,input::KEYBOARD}, {MOVE_CURSOR_RIGHT,input::KEYBOARD} }; diff --git a/src/engine.cpp b/src/engine.cpp index 22f7318..ecf45d8 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -11,6 +11,8 @@ #include "scene/scenetree.h" #include "sparrowshell/sparrowshell.h" #include "scene/physicsdebugnode.h" +#include "imgui/imgui.h" +#include "tools/loader.h" Engine::Engine() : m_window(nullptr), @@ -81,6 +83,39 @@ void Engine::update() m_input->updateEvents(); checkSpecialInputs(); + // initialize imgui frame + ImGuiIO& io = ImGui::GetIO(); + io.DeltaTime = float(getDeltaTime()) / 1000.; + ImGui::NewFrame(); + + // test gui + { + static bool testGuiOpen = true; + if(testGuiOpen) + { + ImGui::Begin("Test imgui Window", &testGuiOpen); + ImGui::Text("Hello, world!"); + ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate); + bool physicsDebugEnabled = (m_physicsDebugNode != nullptr); + if(ImGui::Checkbox("Toggle physics debug", &physicsDebugEnabled)) + { + if(physicsDebugEnabled) + enablePhysicsDebug(); + else + disablePhysicsDebug(); + } + bool isMouseVisible = m_mouseVisible; + if(ImGui::Checkbox("Mouse cursor ( shortcut : [M] )", &isMouseVisible)) + toggleMouseVisibility(); + if(ImGui::Button("EXIT GAME")) + stop(); + float gravity = - m_world->getGravity().y(); + if(ImGui::SliderFloat("Gravity", &gravity, 0.f, 100.f)) + m_world->setGravity(btVector3(0, -gravity, 0)); + ImGui::End(); + } + } + // update Physics if(m_world != nullptr) { @@ -214,7 +249,12 @@ void Engine::checkSpecialInputs() else if(action.action == m_toggleShellAction) m_sparrowshell->toggleShell(); else if(action.action == m_exitGameAction) - m_running = false; + { + if(m_sparrowshell->isVisible()) + m_sparrowshell->toggleShell(); + else + m_running = false; + } else if(action.action == m_showMouseAction) toggleMouseVisibility(); } diff --git a/src/scene/gui/backgroundnode.cpp b/src/scene/gui/backgroundnode.cpp index fcdf5be..7358055 100644 --- a/src/scene/gui/backgroundnode.cpp +++ b/src/scene/gui/backgroundnode.cpp @@ -7,7 +7,7 @@ #include "glm/vec3.hpp" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opacity,float depth): m_dimension(dimension), @@ -18,9 +18,9 @@ BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opaci { Mesh* mesh = new Mesh("background"); mesh->addRectangle2D(glm::vec2(0),dimension); - PhongMaterial *mat = new PhongMaterial(); - mat->diffuse = color; - mat->m_opacity = opacity; + PBRMaterial *mat = new PBRMaterial(); + mat->albedo = color; + mat->opacity = opacity; mesh->setMaterial(mat); mesh->setDepth(depth); mesh->initGL(); @@ -30,13 +30,13 @@ BackGroundNode::BackGroundNode(glm::vec2 dimension, glm::vec3 color, float opaci void BackGroundNode::update(){ if(m_color_updated){ - PhongMaterial* mat = (PhongMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial(); - mat->diffuse = m_color; + PBRMaterial* mat = (PBRMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial(); + mat->albedo = m_color; m_color_updated = false; } if(m_opacity_updated){ - PhongMaterial* mat = (PhongMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial(); - mat->m_opacity = m_opacity; + PBRMaterial* mat = (PBRMaterial*) m_mesh->getGeometryNode()->mesh->getMaterial(); + mat->opacity = m_opacity; m_opacity_updated = false; } GUINode::update(); diff --git a/src/scene/gui/buttonnode.cpp b/src/scene/gui/buttonnode.cpp index 94e2520..ca7d0f8 100644 --- a/src/scene/gui/buttonnode.cpp +++ b/src/scene/gui/buttonnode.cpp @@ -10,7 +10,7 @@ #include "SparrowRenderer/sparrowrenderer.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "sparrowshell/sparrowshell.h" #include "tools/font.h" diff --git a/src/scene/gui/labelnode.cpp b/src/scene/gui/labelnode.cpp index ed72a00..d38a80f 100644 --- a/src/scene/gui/labelnode.cpp +++ b/src/scene/gui/labelnode.cpp @@ -3,7 +3,7 @@ #include "resourcemanager.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include @@ -64,8 +64,8 @@ void LabelNode::update(){ } if(m_color_updated){ if(m_text){ - PhongMaterial* mat = (PhongMaterial*) m_text->m_geometry.mesh->getMaterial(); - mat->diffuse = m_color; + PBRMaterial* mat = (PBRMaterial*) m_text->m_geometry.mesh->getMaterial(); + mat->albedo = m_color; m_color_updated = false; } } diff --git a/src/scene/gui/scrollbarnode.cpp b/src/scene/gui/scrollbarnode.cpp index 2abd15e..875c12a 100644 --- a/src/scene/gui/scrollbarnode.cpp +++ b/src/scene/gui/scrollbarnode.cpp @@ -5,7 +5,7 @@ #include "scene/meshnode.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "sparrowshell/sparrowshell.h" ScrollBarNode::ScrollBarNode(glm::vec2 dimension, glm::vec3 bar_color): @@ -22,9 +22,9 @@ ScrollBarNode::ScrollBarNode(glm::vec2 dimension, glm::vec3 bar_color): { Mesh* mesh = new Mesh("scrollbar"); mesh->addRectangle2D(glm::vec2(0),m_dimension); - PhongMaterial* mat = new PhongMaterial(); - mat->diffuse = m_bar_color; - mat->m_opacity = 0.8; + PBRMaterial* mat = new PBRMaterial(); + mat->albedo = m_bar_color; + mat->opacity = 0.8; mesh->setMaterial(mat); mesh->setDepth(SparrowShell::SHELL_DEPTH+1); mesh->initGL(); @@ -63,8 +63,8 @@ void ScrollBarNode::update() } if(m_bar_color_updated) { - PhongMaterial* mat = (PhongMaterial*) m_bar->getGeometryNode()->mesh->getMaterial(); - mat->diffuse = m_bar_color; + PBRMaterial* mat = (PBRMaterial*) m_bar->getGeometryNode()->mesh->getMaterial(); + mat->albedo = m_bar_color; m_bar_color_updated = false; } if(needTransformUpdate) diff --git a/src/scene/gui/scrollbarnode.h b/src/scene/gui/scrollbarnode.h index c6b1348..4f8d6a4 100644 --- a/src/scene/gui/scrollbarnode.h +++ b/src/scene/gui/scrollbarnode.h @@ -10,12 +10,12 @@ class ScrollBarNode : public GUINode protected: glm::vec2 m_dimension; glm::vec2 m_bar_position; - int m_index_position; - int m_bar_size; - int m_total_size; glm::vec2 m_bar_dimension; glm::vec3 m_bar_color; bool m_bar_color_updated; + int m_index_position; + int m_bar_size; + int m_total_size; MeshNode* m_bar; bool m_bar_resized; bool m_bar_moved; diff --git a/src/scene/gui/textinputnode.cpp b/src/scene/gui/textinputnode.cpp index 62ac10e..efe6cd5 100644 --- a/src/scene/gui/textinputnode.cpp +++ b/src/scene/gui/textinputnode.cpp @@ -27,8 +27,8 @@ TextInputNode::TextInputNode(glm::vec2 dimension): // Font *shellfont = RESOURCE_GET(Font,"shellfont"); Mesh* mesh = new Mesh(); mesh->addRectangle2D(glm::vec2(0),glm::vec2(2, m_font_size)); - PhongMaterial* mat = new PhongMaterial(); - mat->diffuse = glm::vec3(1,1,1); + PBRMaterial* mat = new PBRMaterial(); + mat->albedo = glm::vec3(1,1,1); mesh->setMaterial(mat); mesh->setDepth(30); mesh->initGL(); diff --git a/src/scene/physicsdebugnode.cpp b/src/scene/physicsdebugnode.cpp index e4492e8..d12f02c 100644 --- a/src/scene/physicsdebugnode.cpp +++ b/src/scene/physicsdebugnode.cpp @@ -1,16 +1,11 @@ #include "physicsdebugnode.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" PhysicsDebugNode::PhysicsDebugNode() : MeshNode(new Mesh()) { - PhongMaterial* mat = new PhongMaterial(); - mat->emission = glm::vec3(1, 0, 0); - mat->diffuse = glm::vec3(0); - mat->specular = glm::vec3(0); - - m_geometry.mesh->setMaterial(mat); + m_geometry.mesh->setMaterial(new PBRMaterial()); m_geometry.mesh->setPrimitiveType(GL_LINES); m_geometry.mesh->setWireframe(true); diff --git a/src/scene/playercharacternode.cpp b/src/scene/playercharacternode.cpp index 14d8c9c..0bc2edf 100644 --- a/src/scene/playercharacternode.cpp +++ b/src/scene/playercharacternode.cpp @@ -55,13 +55,14 @@ void FirstPersonCamera::setUpVector(const glm::vec3 &up) } const float WALK_SPEED = 5.f; -const float PLAYER_RADIUS = 0.30f; -const float PLAYER_HEIGHT = 1.75f; -const float EYES_OFFSET = 0.775f; +const float TORSO_RADIUS = 0.30f; +const float TORSO_HEIGHT = 0.8f; +const float LEGS_HEIGHT = 1.f; +const float EYES_OFFSET = 0.3f; const float JUMP_VELOCITY = 5.f; -const float EPSILON = 1.f; PlayerCharacterNode::PlayerCharacterNode(bool noClip) : + m_jumping(false), m_noclipMode(noClip), m_inputActions({NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION}) { @@ -70,7 +71,7 @@ PlayerCharacterNode::PlayerCharacterNode(bool noClip) : m_playerLightNode->m_parent = this; // Create the shape - btCollisionShape *shape = new btCapsuleShape(PLAYER_RADIUS, PLAYER_HEIGHT); + btCollisionShape *shape = new btCapsuleShape(TORSO_RADIUS, TORSO_HEIGHT); // Add mass btVector3 localInertia; @@ -114,6 +115,8 @@ void PlayerCharacterNode::setPosition(float x, float y, float z) void PlayerCharacterNode::update() { Input *input = getEngine().getInput(); + float deltaTime = getEngine().getDeltaTime(); + // get events int walk = 0; int strafe = 0; @@ -140,7 +143,7 @@ void PlayerCharacterNode::update() // update camera position btVector3 pos = m_rigidBody->getCenterOfMassPosition(); - m_playerLight->setPos(glm::vec3(pos.x(), pos.y()+PLAYER_HEIGHT/2.f, pos.z())); + m_playerLight->setPos(glm::vec3(pos.x(), pos.y()+TORSO_HEIGHT/2.f, pos.z())); m_fpsCamera.moveTo(glm::vec3(pos.x(), pos.y()+EYES_OFFSET, pos.z())); // update body movement @@ -172,24 +175,45 @@ void PlayerCharacterNode::update() } else { - float controlRatio = 0.2f; // 1 = total control, 0 = no control, can be seen as a slipperiness factor - btVector3 newVelocity = velocity*(1.f-controlRatio) + targetVelocity*controlRatio; - if(jump) - {/* - btVector3 start(pos); - start.setY(start.y() - PLAYER_HEIGHT/2.f); - btVector3 end(pos); - end.setY(end.y() - EPSILON); - btCollisionWorld::ClosestRayResultCallback RayCallback(start, end); - getEngine().getPhysics()->rayTest(start, end, RayCallback); - if(RayCallback.hasHit()) // if ground is nearby + bool onGround = false; + btVector3 start(pos); + start.setY(start.y() - TORSO_HEIGHT/2.f); + btVector3 end(start); + end.setY(end.y() - (LEGS_HEIGHT*2.f)); + btCollisionWorld::ClosestRayResultCallback RayCallback(start, end); + getEngine().getPhysics()->rayTest(start, end, RayCallback); + float controlRatio = 0.f; // 1 = total control, 0 = no control, can be seen as a slipperiness factor + if(RayCallback.hasHit()) // if ground is nearby + { + onGround = true; + btVector3 normal = RayCallback.m_hitNormalWorld; + float slope = normal.dot(btVector3(0, 1, 0)); + controlRatio = slope > 0.4f ? 0.2f * slope : 0.f; + + if(onGround) { - //btVector3 normal = RayCallback.m_hitNormalWorld; + float displacement = RayCallback.m_hitPointWorld.y() - (end.y() + start.y())/2.f; + if(abs(displacement) > 0.1f) + pos.setY(pos.y() + deltaTime*0.01f*(displacement > 0 ? 1 : -1)); + else + pos.setY(pos.y() + displacement/4); + btTransform transform = btTransform::getIdentity(); + transform.setOrigin(pos); + m_rigidBody->setWorldTransform(transform); + } + if(jump) + m_jumping = true; + else + m_jumping = false; + } - }*/ - - // raycasting not working yet - newVelocity.setY(JUMP_VELOCITY); + btVector3 newVelocity = velocity*(1.f-controlRatio) + targetVelocity*controlRatio; + if(onGround) + { + if(m_jumping) + newVelocity.setY(JUMP_VELOCITY); + else + newVelocity.setY(0); } m_rigidBody->setLinearVelocity(newVelocity); } diff --git a/src/scene/playercharacternode.h b/src/scene/playercharacternode.h index 865e2f9..e83659c 100644 --- a/src/scene/playercharacternode.h +++ b/src/scene/playercharacternode.h @@ -38,6 +38,7 @@ class PlayerCharacterNode : public CameraNode btRigidBody* m_rigidBody; FirstPersonCamera m_fpsCamera; + bool m_jumping; bool m_noclipMode; btVector3 m_noclip_pos; diff --git a/src/scene/textnode.h b/src/scene/textnode.h index b78cd03..eaafe73 100644 --- a/src/scene/textnode.h +++ b/src/scene/textnode.h @@ -4,7 +4,7 @@ #include "meshnode.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "glm/vec2.hpp" diff --git a/src/sparrowshell/shellscrollbar.cpp b/src/sparrowshell/shellscrollbar.cpp index 192beff..f88fb40 100644 --- a/src/sparrowshell/shellscrollbar.cpp +++ b/src/sparrowshell/shellscrollbar.cpp @@ -1,7 +1,7 @@ #include "shellscrollbar.h" #include "sparrowshell.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "scene/meshnode.h" #include "tools/utils.h" #include diff --git a/src/sparrowshell/sparrowshell.cpp b/src/sparrowshell/sparrowshell.cpp index 91976d7..7f4477a 100644 --- a/src/sparrowshell/sparrowshell.cpp +++ b/src/sparrowshell/sparrowshell.cpp @@ -9,7 +9,7 @@ #include "scriptnode.h" #include "SparrowRenderer/mesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "tools/font.h" #include "resourcemanager.h" @@ -33,8 +33,8 @@ SparrowShell::SparrowShell(sf::Window* window): setPosition(glm::vec2(0)); setVisible(false); - Font* fonte_des_neiges = Loader::loadFont("../data/consolas.fnt","../data/consolas.png"); - RESOURCE_ADD(fonte_des_neiges,Font,"shellfont"); + Font* fonte_des_neiges = Loader::loadFont("data/font/consolas.fnt", "font/consolas.png"); + RESOURCE_ADD(fonte_des_neiges, Font, "shellfont"); //Create mesh for background m_background = new BackGroundNode(m_dimension,glm::vec3(0.1,0.1,0.1),0.75,SHELL_DEPTH); diff --git a/src/test/main.cpp b/src/test/main.cpp index 0fab4e0..1edf84d 100644 --- a/src/test/main.cpp +++ b/src/test/main.cpp @@ -2,8 +2,9 @@ #include #include #include +#include #include -#include +#include #include #include #include @@ -87,12 +88,9 @@ void generateTerrain(SceneTree *scene, btDiscreteDynamicsWorld *world) GraphicalContainerNode* terrainContainer = new GraphicalContainerNode(); scene->getRootObject()->addChild(terrainContainer); TestGen gen; - PhongMaterial *mat = new PhongMaterial(); - mat->shininess = 5.f; - mat->diffuse = glm::vec3(0.1f, 0.4f, 0.2f); - mat->specular = glm::vec3(0.1f); + PBRMaterial *mat = new PBRMaterial(); + mat->albedo = glm::vec3(0.1f, 0.4f, 0.2f); - mat->emission = glm::vec3(0.5f, 0.1f, 0.1f); for(int x=-3; x<3; ++x) for(int y=-2; y<2; ++y) for(int z=-3; z<3; ++z) @@ -118,9 +116,9 @@ void generateSponza(SceneTree *scene, btDiscreteDynamicsWorld *world) { GraphicalContainerNode* sponzaContainer = new GraphicalContainerNode(); scene->getRootObject()->addChild(sponzaContainer); - Loader::setTexDirectory("../data/sponza/"); + Loader::setTexDirectory("data/sponza/"); std::vector meshes = Loader::loadMesh("sponza.obj"); - Loader::setTexDirectory("../data/"); + Loader::setTexDirectory("data/"); for(Mesh* m : meshes) { if(m->getName().find("fabric") != std::string::npos) @@ -148,7 +146,7 @@ struct Config : public Serializable Config() { mode = "windowed"; - scene = "none"; + scene = "sandbox"; vsync = false; width = 800; height = 600; @@ -157,7 +155,7 @@ struct Config : public Serializable static Config* load() { std::fstream configFile; - configFile.open("../config.ini", std::ios_base::in); + configFile.open("config.ini", std::ios_base::in); Config *conf; if(configFile.is_open()) { @@ -174,7 +172,7 @@ struct Config : public Serializable conf = new Config(); ObjectSaver saver; saver.addObject(conf); - configFile.open("../config.ini", std::ios_base::out); + configFile.open("config.ini", std::ios_base::out); saver.saveAscii(configFile); configFile.close(); return conf; @@ -195,7 +193,7 @@ public: //player m_player = new PlayerCharacterNode(false); m_player->setInputs(DefaultKeysMap::MOVE_FORWARD, DefaultKeysMap::MOVE_BACKWARD, DefaultKeysMap::STRAFE_LEFT, DefaultKeysMap::STRAFE_RIGHT, DefaultKeysMap::JUMP, DefaultKeysMap::TOGGLE_NOCLIP); - SceneTree* scene = RESOURCE_GET(SceneTree,m_demo_scene); + SceneTree* scene = RESOURCE_GET(SceneTree, m_demo_scene); scene->getRootObject()->addChild(m_player); scene->setMainCamera(m_player); @@ -204,7 +202,12 @@ public: scene->getRootObject()->addChild(potator); //lighting - LightNode *ambientLight = new LightNode(new AmbientLight(glm::vec3(0.05f))); + Texture* skyboxTexture = RESOURCE_GET(Texture, "skybox"); + Texture* ambientTexture = RESOURCE_GET(Texture, "ambient"); + LightNode *ambientLight = new LightNode(new AmbientLight(ambientTexture, skyboxTexture)); + + DeferredPipeline* pipeline = dynamic_cast(scene->getPipeline()); + pipeline->setSkybox(RESOURCE_GET(Texture, "craterlake")); DirectionnalLight* sun = new DirectionnalLight(glm::vec3(5, 8, -2), glm::vec3(0.9f)); LightNode *sunLight = new LightNode(sun); @@ -228,6 +231,22 @@ public: m_player->setPosition(0.f, 15.f, 0.f); sun->setShadowView(glm::vec3(130, 130, 70)); } + else if(m_config->scene == "sandbox") + { + sun->initShadowMap(4096); + GraphicalContainerNode* sandboxContainer = new GraphicalContainerNode(); + scene->getRootObject()->addChild(sandboxContainer); + std::vector meshes = Loader::loadMesh("sandbox.obj"); + for(Mesh* m : meshes) + { + m->initGL(); + MeshNode *node = new MeshNode(m); + sandboxContainer->addChild(node); + m_engine->getPhysics()->addRigidBody(node->buildStaticCollider()); + } + m_player->setPosition(0.f, 3.f, 0.f); + sun->setShadowView(glm::vec3(80)); + } } @@ -289,15 +308,50 @@ int main(){ Config* config = Config::load(); Engine engine; - Loader::setObjDirectory("../data/"); - Loader::setMtlDirectory("../data/"); - Loader::setTexDirectory("../data/"); + Loader::setObjDirectory("data/"); + Loader::setMtlDirectory("data/"); + Loader::setTexDirectory("data/"); // this creates the opengl context // the opengl context must exist before any opengl class is used (texture, pipeline, etc..) engine.createWindow("Sparrow Engine Demo", config->width, config->height, config->mode); engine.getWindow()->setVerticalSyncEnabled(config->vsync); + // opengl context is created, we can initialize the global textures used by the rendering pipeline + Image* img = Loader::loadImage("ibl_brdf_lut.png", 24, false); + AmbientLight::setBrdfLut(new Texture(img, false)); + delete img; + Image * imgs[6]; + imgs[0] = Loader::loadImage("skybox/craterlake_rt.tga", 24, false); // right + imgs[1] = Loader::loadImage("skybox/craterlake_lf.tga", 24, false); // left + imgs[2] = Loader::loadImage("skybox/craterlake_up.tga", 24, false); // top + imgs[3] = Loader::loadImage("skybox/craterlake_dn.tga", 24, false); // bottom + imgs[4] = Loader::loadImage("skybox/craterlake_ft.tga", 24, false); // front + imgs[5] = Loader::loadImage("skybox/craterlake_bk.tga", 24, false); // back + RESOURCE_ADD(new Texture(imgs), Texture, "craterlake"); + for(int i=0; i<6; ++i) + delete imgs[i]; + + imgs[0] = Loader::loadImage("skybox/1_posX.tga", 24, false); // right + imgs[1] = Loader::loadImage("skybox/2_negX.tga", 24, false); // left + imgs[2] = Loader::loadImage("skybox/3_posY.tga", 24, false); // top + imgs[3] = Loader::loadImage("skybox/4_negY.tga", 24, false); // bottom + imgs[4] = Loader::loadImage("skybox/5_posZ.tga", 24, false); // front + imgs[5] = Loader::loadImage("skybox/6_negZ.tga", 24, false); // back + RESOURCE_ADD(new Texture(imgs), Texture, "skybox"); + for(int i=0; i<6; ++i) + delete imgs[i]; + + imgs[0] = Loader::loadImage("ambient/1_posX.tga", 24, false); // right + imgs[1] = Loader::loadImage("ambient/2_negX.tga", 24, false); // left + imgs[2] = Loader::loadImage("ambient/3_posY.tga", 24, false); // top + imgs[3] = Loader::loadImage("ambient/4_negY.tga", 24, false); // bottom + imgs[4] = Loader::loadImage("ambient/5_posZ.tga", 24, false); // front + imgs[5] = Loader::loadImage("ambient/6_negZ.tga", 24, false); // back + RESOURCE_ADD(new Texture(imgs), Texture, "ambient"); + for(int i=0; i<6; ++i) + delete imgs[i]; + // engine.toggleMouseVisibility(); // setting up SparrowEngine @@ -314,6 +368,7 @@ int main(){ engine.setTogglePhysicsDebugAction(DefaultKeysMap::TOGGLE_PHYSICS_DEBUG); engine.setToggleShellAction(DefaultKeysMap::TOGGLE_CONSOLE); engine.setExitGameAction(DefaultKeysMap::EXIT_GAME); + engine.setShowMouseAction(DefaultKeysMap::TOGGLE_MOUSE_CURSOR); //c'est un goup SparrowShell SparrowShell* shell = engine.getShell(); @@ -421,9 +476,9 @@ int main(){ } // loaders tests - Loader::setObjDirectory("../data/"); - Loader::setMtlDirectory("../data/"); - Loader::setTexDirectory("../data/"); + Loader::setObjDirectory("data/"); + Loader::setMtlDirectory("data/"); + Loader::setTexDirectory("data/"); std::vector meshes = Loader::loadMesh("sword.obj"); */ diff --git a/src/test/potator.cpp b/src/test/potator.cpp index 0963e47..5421fd9 100644 --- a/src/test/potator.cpp +++ b/src/test/potator.cpp @@ -4,7 +4,7 @@ #include #include "scene/scenetree.h" #include "SparrowRenderer/parametricmesh.h" -#include "SparrowRenderer/phongmaterial.h" +#include "SparrowRenderer/pbrmaterial.h" #include "scene/meshnode.h" #include "tools/loader.h" #include "SparrowRenderer/texture.h" @@ -66,12 +66,11 @@ Potator::Potator(PlayerCharacterNode * player, m_cubeMesh->addTriangle(id+7, id+5, id+6); } - Image* wood = Loader::loadImage("woodbox.jpg", false); - PhongMaterial *mat = new PhongMaterial(); - mat->setTexture(PhongMaterial::DIFFUSE_SLOT, new Texture(wood), "wood_texture"); - mat->specular = glm::vec3(0.3f); - mat->shininess = 5.f; - mat->emission = glm::vec3(0.0f); + Image* wood = Loader::loadImage("woodbox.jpg", 24); + PBRMaterial *mat = new PBRMaterial(); + mat->setTexture(PBRMaterial::ALBEDO_SLOT, new Texture(wood), "wood_texture"); + mat->roughness = 0.8f; + mat->metallic = 0.1f; m_cubeMesh->setMaterial(mat); @@ -83,11 +82,10 @@ Potator::Potator(PlayerCharacterNode * player, m_cubeMass = cubeDim.x*cubeDim.y*cubeDim.z*density; // creating sphere - mat = new PhongMaterial(); - mat->diffuse = glm::vec3(0.1f); - mat->specular = glm::vec3(0.9f); - mat->shininess = 150.f; - mat->emission = glm::vec3(0.0f); + mat = new PBRMaterial(); + mat->albedo = glm::vec3(0.1f); + mat->roughness = 0.1f; + mat->metallic = 0.9f; SphereGenerator sphereGen; m_sphereMesh = sphereGen.generateGeodesicMesh(mat, 2, sphereRadius); diff --git a/src/tools/font.cpp b/src/tools/font.cpp index 8ce7723..98f9ac0 100644 --- a/src/tools/font.cpp +++ b/src/tools/font.cpp @@ -1,5 +1,5 @@ #include "font.h" -#include +#include #include "SparrowRenderer/mesh.h" #include "scene/textnode.h" @@ -38,10 +38,10 @@ TextNode* Font::getTextNode(std::string s, glm::vec3 color, float font_size,bool current_pos.x += charInfo.xadvance; } } - PhongMaterial *mat = new PhongMaterial(); + PBRMaterial *mat = new PBRMaterial(); // TODO : delete this material somewhere (garbage collector ?) - mat->setTexture(PhongMaterial::ALPHA_SLOT, m_tex, "font_texture"); - mat->diffuse = color; + mat->setTexture(PBRMaterial::ALPHA_SLOT, m_tex, "font_texture"); + mat->albedo = color; textmesh->setMaterial((Material*)mat); textmesh->initGL(); TextNode *text = new TextNode(textmesh,ws,font_size,visible); diff --git a/src/tools/loader.cpp b/src/tools/loader.cpp index db9c72e..bce4edf 100644 --- a/src/tools/loader.cpp +++ b/src/tools/loader.cpp @@ -6,7 +6,7 @@ #include "../resourcemanager.h" #include #include -#include +#include #include "SparrowRenderer/texture.h" #include "utils.h" #include "font.h" @@ -64,7 +64,7 @@ std::unordered_map* Loader::loadConfigFile(const std:: return configPtr; } -Image* Loader::loadImage(const std::string &filename, bool hasAlpha, bool reversed) +Image* Loader::loadImage(const std::string &filename, int depth, bool reversed) { sf::Image sfImg; bool ok = sfImg.loadFromFile(tex_directory+filename); @@ -73,19 +73,20 @@ Image* Loader::loadImage(const std::string &filename, bool hasAlpha, bool revers if(reversed) sfImg.flipVertically(); Image* img = new Image(); - img->depth = hasAlpha ? 32 : 24; + img->depth = depth; img->width = sfImg.getSize().x; img->height = sfImg.getSize().y; int size = img->width*img->height*(img->depth/8); img->allocate(size); const sf::Uint8 *pixels = sfImg.getPixelsPtr(); - if(hasAlpha) + if(depth == 32) memcpy(img->pixels.data(), pixels, size); else { + int bytesPerPixel = depth/8; sf::Uint8 *ptr = (sf::Uint8*)img->pixels.data(); for(int i=0; iwidth*img->height; ++i) - memcpy(ptr + i*3, pixels + i*4, 3); + memcpy(ptr + i*bytesPerPixel, pixels + i*4, bytesPerPixel); } return img; } @@ -133,7 +134,7 @@ Font* Loader::loadFont(const std::string &description_file, const std::string &t font->addCharInfo(id,char_info); } - Image* fucking_image_of_doom = loadImage(texture_file, true, false); + Image* fucking_image_of_doom = loadImage(texture_file, 32, false); if(fucking_image_of_doom == NULL) printf("can't load \"%s\".\n", texture_file.c_str()); Texture* texture = new Texture(fucking_image_of_doom, false); // mipmaps are doing a very bad job at interpolating alpha component @@ -155,8 +156,8 @@ std::vector Loader::loadMesh(const std::string &filename){ if(defaultMat == NULL) { - defaultMat = new PhongMaterial(); - RESOURCE_ADD(defaultMat,Material,"default"); + defaultMat = new PBRMaterial(); + RESOURCE_ADD(defaultMat, Material, "default"); } Material* currentMat = defaultMat; std::ifstream file(obj_directory + filename); @@ -260,8 +261,8 @@ std::vector Loader::loadMesh(const std::string &filename){ if(currentMat == NULL) { fprintf(stderr, "cannot find any material named : %s.\n", material_name.c_str()); - currentMat = new PhongMaterial(); - RESOURCE_ADD(currentMat,Material,material_name); + currentMat = new PBRMaterial(); + RESOURCE_ADD(currentMat, Material, material_name); } currentMesh->setMaterial(currentMat); currentMesh->setName(material_name); @@ -288,7 +289,7 @@ std::vector Loader::loadMesh(const std::string &filename){ Mesh* m = meshes[i]; if(m->normals.empty()) m->computeNormals(); - if(m->getFlags() & (1 << Mesh::MATERIAL_PHONG_NORMAL_MAP)) + if(m->getFlags() & (1 << Mesh::MATERIAL_PBR_NORMAL_MAP)) m->computeTangents(); m->mergeVertices(); } @@ -308,7 +309,7 @@ bool Loader::loadMTL(const std::string &filename) return false; } - PhongMaterial* mat = NULL; + PBRMaterial* mat = NULL; bool hasNormalMap = false; std::getline(file,line); @@ -329,63 +330,67 @@ bool Loader::loadMTL(const std::string &filename) } else if((tokens[0] == "newmtl") && tokens.size() == 2) { - mat = new PhongMaterial(); - RESOURCE_ADD(mat,Material,tokens[1]); + mat = new PBRMaterial(); + RESOURCE_ADD(mat, Material, tokens[1]); } - else if((tokens[0].compare("Ka") == 0) && tokens.size() == 4) + else if((tokens[0].compare("emission") == 0) && tokens.size() == 4) { mat->emission.r = std::stof(tokens[1]); mat->emission.g = std::stof(tokens[2]); mat->emission.b = std::stof(tokens[3]); } - else if(tokens[0].compare("Kd") == 0 && tokens.size() == 4) + else if(tokens[0].compare("albedo") == 0 && tokens.size() == 4) { - mat->diffuse.r = std::stof(tokens[1]); - mat->diffuse.g = std::stof(tokens[2]); - mat->diffuse.b = std::stof(tokens[3]); + mat->albedo.r = std::stof(tokens[1]); + mat->albedo.g = std::stof(tokens[2]); + mat->albedo.b = std::stof(tokens[3]); } - else if(tokens[0].compare("Ks") == 0 && tokens.size() == 4) + else if(tokens[0].compare("roughness") == 0 && tokens.size() == 2) { - mat->specular.r = std::stof(tokens[1]); - mat->specular.g = std::stof(tokens[2]); - mat->specular.b = std::stof(tokens[3]); + mat->roughness = std::stof(tokens[1]); } - else if(tokens[0].compare("Ns") == 0 && tokens.size() == 2) + else if(tokens[0].compare("metallic") == 0 && tokens.size() == 2) { - mat->shininess = std::stof(tokens[1]); + mat->metallic = std::stof(tokens[1]); } else if((tokens[0].substr(0,4) == "map_") && tokens.size() == 2) { - if(tokens[0].compare("map_Ka") == 0){ - mat->textures[PhongMaterial::EMISSION_SLOT] = RESOURCE_GET(Texture,tokens[1]); - if (mat->textures[PhongMaterial::EMISSION_SLOT] == NULL){ - mat->textures[PhongMaterial::EMISSION_SLOT] = new Texture(loadImage(tokens[1])); - RESOURCE_ADD(mat->textures[PhongMaterial::EMISSION_SLOT], Texture, tokens[1]); + if(tokens[0].compare("map_emission") == 0){ + mat->textures[PBRMaterial::EMISSION_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::EMISSION_SLOT] == NULL){ + mat->textures[PBRMaterial::EMISSION_SLOT] = new Texture(loadImage(tokens[1], 24)); + RESOURCE_ADD(mat->textures[PBRMaterial::EMISSION_SLOT], Texture, tokens[1]); } - } else if(tokens[0].compare("map_Kd") == 0) { - mat->textures[PhongMaterial::DIFFUSE_SLOT] = RESOURCE_GET(Texture,tokens[1]); - if (mat->textures[PhongMaterial::DIFFUSE_SLOT] == NULL){ - mat->textures[PhongMaterial::DIFFUSE_SLOT] = new Texture(loadImage(tokens[1])); - RESOURCE_ADD(mat->textures[PhongMaterial::DIFFUSE_SLOT],Texture,tokens[1]); + } else if(tokens[0].compare("map_albedo") == 0) { + mat->textures[PBRMaterial::ALBEDO_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::ALBEDO_SLOT] == NULL){ + mat->textures[PBRMaterial::ALBEDO_SLOT] = new Texture(loadImage(tokens[1])); + RESOURCE_ADD(mat->textures[PBRMaterial::ALBEDO_SLOT],Texture,tokens[1]); } - } else if(tokens[0].compare("map_Ks") == 0) { - mat->textures[PhongMaterial::SPECULAR_SLOT] = RESOURCE_GET(Texture,tokens[1]); - if (mat->textures[PhongMaterial::SPECULAR_SLOT] == NULL){ - mat->textures[PhongMaterial::SPECULAR_SLOT] = new Texture(loadImage(tokens[1])); - RESOURCE_ADD(mat->textures[PhongMaterial::SPECULAR_SLOT],Texture,tokens[1]); + } else if(tokens[0].compare("map_roughness") == 0) { + mat->textures[PBRMaterial::ROUGHNESS_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::ROUGHNESS_SLOT] == NULL){ + mat->textures[PBRMaterial::ROUGHNESS_SLOT] = new Texture(loadImage(tokens[1], 8)); + RESOURCE_ADD(mat->textures[PBRMaterial::ROUGHNESS_SLOT],Texture,tokens[1]); } - } else if(tokens[0].compare("map_Normal") == 0) { - mat->textures[PhongMaterial::NORMALS_SLOT] = RESOURCE_GET(Texture,tokens[1]); - if (mat->textures[PhongMaterial::NORMALS_SLOT] == NULL){ - mat->textures[PhongMaterial::NORMALS_SLOT] = new Texture(loadImage(tokens[1])); - RESOURCE_ADD(mat->textures[PhongMaterial::NORMALS_SLOT],Texture,tokens[1]); + } else if(tokens[0].compare("map_metallic") == 0) { + mat->textures[PBRMaterial::METALLIC_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::METALLIC_SLOT] == NULL){ + mat->textures[PBRMaterial::METALLIC_SLOT] = new Texture(loadImage(tokens[1], 8)); + RESOURCE_ADD(mat->textures[PBRMaterial::METALLIC_SLOT],Texture,tokens[1]); + } + } else if(tokens[0].compare("map_normal") == 0) { + mat->textures[PBRMaterial::NORMALS_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::NORMALS_SLOT] == NULL){ + mat->textures[PBRMaterial::NORMALS_SLOT] = new Texture(loadImage(tokens[1], 24)); + RESOURCE_ADD(mat->textures[PBRMaterial::NORMALS_SLOT],Texture,tokens[1]); } hasNormalMap = true; - } else if(tokens[0].compare("map_d") == 0) { - mat->textures[PhongMaterial::ALPHA_SLOT] = RESOURCE_GET(Texture,tokens[1]); - if (mat->textures[PhongMaterial::ALPHA_SLOT] == NULL){ - mat->textures[PhongMaterial::ALPHA_SLOT] = new Texture(loadImage(tokens[1])); - RESOURCE_ADD(mat->textures[PhongMaterial::ALPHA_SLOT],Texture,tokens[1]); + } else if(tokens[0].compare("map_alpha") == 0) { + mat->textures[PBRMaterial::ALPHA_SLOT] = RESOURCE_GET(Texture,tokens[1]); + if (mat->textures[PBRMaterial::ALPHA_SLOT] == NULL){ + mat->textures[PBRMaterial::ALPHA_SLOT] = new Texture(loadImage(tokens[1], 8)); + RESOURCE_ADD(mat->textures[PBRMaterial::ALPHA_SLOT],Texture,tokens[1]); } } else fprintf(stderr, "unsupported material property : \"%s\"\n", tokens[0].c_str()); diff --git a/src/tools/loader.h b/src/tools/loader.h index 9a839d1..59d6f18 100644 --- a/src/tools/loader.h +++ b/src/tools/loader.h @@ -19,7 +19,7 @@ class Loader public: static std::string* loadTextFile(const std::string &filename); static std::unordered_map* loadConfigFile(const std::string &filename); - static Image* loadImage(const std::string &filename, bool hasAlpha = true, bool reversed = true); + static Image* loadImage(const std::string &filename, int depth = 32, bool reversed = true); static std::vector loadMesh(const std::string &filename); static Font* loadFont(const std::string &texture, const std::string &description); static bool loadMTL(const std::string &filename);