From b12a2f3f6a54bc841d05a9224bc577909d519228 Mon Sep 17 00:00:00 2001 From: Gray Olson Date: Fri, 30 Oct 2020 11:38:47 -0700 Subject: [PATCH] Cleanup pass on example shader and vk example-runner (#109) * get rid of vertex buffers in example * get rid of unused attributes in example shader * use negative viewport height to match wgpu * remove depth buffer * use SRGB surface * improve tonemapping remove 'gamma correction' in favor of hardware srgb support * make clippy happy * move tonemapping out of sky(), rename gl_pos to builtin_pos * rename shaders and use sky shader in wgpu example runner * apply srgb OETF and invert clip space for cpu example runner * restructure example directory structure according to #170 * update winit in wgpu example runner * fix deny.toml example crate refs * fix ci example name on maOS * example-shader -> sky-shader in docs * update sky shader image * re-enable clippy and make it happy --- .github/workflows/clippy.sh | 12 +- .github/workflows/test.sh | 10 +- Cargo.lock | 569 +++++------------- Cargo.toml | 11 +- README.md | 2 +- deny.toml | 4 +- docs/assets/sky.jpg | Bin 20567 -> 322582 bytes docs/src/introduction.md | 10 +- examples/example-runner/build.rs | 8 - .../ash}/Cargo.toml | 4 +- examples/runners/ash/build.rs | 8 + .../ash}/src/main.rs | 350 +---------- .../cpu}/Cargo.toml | 2 +- .../cpu}/src/main.rs | 21 +- .../wgpu}/Cargo.toml | 6 +- .../wgpu}/build.rs | 4 +- .../wgpu}/src/main.rs | 2 +- .../simplest-shader}/Cargo.toml | 6 +- .../simplest-shader}/src/lib.rs | 0 .../sky-shader}/Cargo.toml | 6 +- .../sky-shader}/src/lib.rs | 72 ++- 21 files changed, 281 insertions(+), 826 deletions(-) delete mode 100644 examples/example-runner/build.rs rename examples/{example-runner => runners/ash}/Cargo.toml (85%) create mode 100644 examples/runners/ash/build.rs rename examples/{example-runner => runners/ash}/src/main.rs (70%) rename examples/{example-runner-cpu => runners/cpu}/Cargo.toml (87%) rename examples/{example-runner-cpu => runners/cpu}/src/main.rs (75%) rename examples/{wgpu-example-runner => runners/wgpu}/Cargo.toml (82%) rename examples/{wgpu-example-runner => runners/wgpu}/build.rs (51%) rename examples/{wgpu-example-runner => runners/wgpu}/src/main.rs (99%) rename examples/{wgpu-example-shader => shaders/simplest-shader}/Cargo.toml (58%) rename examples/{wgpu-example-shader => shaders/simplest-shader}/src/lib.rs (100%) rename examples/{example-shader => shaders/sky-shader}/Cargo.toml (59%) rename examples/{example-shader => shaders/sky-shader}/src/lib.rs (77%) diff --git a/.github/workflows/clippy.sh b/.github/workflows/clippy.sh index 49716d5ecb..bd7873b27c 100755 --- a/.github/workflows/clippy.sh +++ b/.github/workflows/clippy.sh @@ -35,11 +35,9 @@ clippy spirv-builder # Examples -# disabled due to https://github.com/EmbarkStudios/rust-gpu/issues/186 -#clippy examples/example-runner +clippy examples/runners/ash +clippy examples/runners/wgpu -clippy examples/wgpu-example-runner - -clippy_no_features examples/example-runner-cpu -clippy_no_features examples/example-shader -clippy_no_features examples/wgpu-example-shader +clippy_no_features examples/runners/cpu +clippy_no_features examples/shaders/sky-shader +clippy_no_features examples/shaders/simplest-shader diff --git a/.github/workflows/test.sh b/.github/workflows/test.sh index f4d900b6bf..a87fbf6016 100755 --- a/.github/workflows/test.sh +++ b/.github/workflows/test.sh @@ -45,11 +45,11 @@ cargo_test spirv-builder # Examples # See: https://github.com/EmbarkStudios/rust-gpu/issues/84 if [[ -z "${CI}" && "$os" != "macOS" ]]; then - cargo_test examples/example-runner + cargo_test examples/runners/ash fi -cargo_test examples/wgpu-example-runner +cargo_test examples/runners/wgpu -cargo_test_no_features examples/example-runner-cpu -cargo_test_no_features examples/example-shader -cargo_test_no_features examples/wgpu-example-shader +cargo_test_no_features examples/runners/cpu +cargo_test_no_features examples/shaders/sky-shader +cargo_test_no_features examples/shaders/simplest-shader diff --git a/Cargo.lock b/Cargo.lock index c00bf65a32..188f00e9eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,38 +17,17 @@ dependencies = [ [[package]] name = "andrew" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" +checksum = "8c4afb09dd642feec8408e33f92f3ffc4052946f6b20f32fb99c1f58cd4fa7cf" dependencies = [ "bitflags", - "line_drawing 0.7.0", - "rusttype 0.7.9", + "rusttype", "walkdir", "xdg", "xml-rs", ] -[[package]] -name = "andrew" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1ea80a5089cac999ffd4a91888154076a961d27387b0f7a6cd2d4dddb636b9" -dependencies = [ - "bitflags", - "line_drawing 0.8.0", - "rusttype 0.9.2", - "walkdir", - "xdg", - "xml-rs", -] - -[[package]] -name = "android_log-sys" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8052e2d8aabbb8d556d6abbcce2a22b9590996c5f849b9c7ce4544a2e3b984e" - [[package]] name = "ansi_term" version = "0.11.0" @@ -67,20 +46,11 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "approx" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" -dependencies = [ - "num-traits 0.2.12", -] - [[package]] name = "arrayvec" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "ash" @@ -94,7 +64,7 @@ dependencies = [ [[package]] name = "ash-molten" version = "0.6.0+43" -source = "git+https://github.com/EmbarkStudios/ash-molten?branch=moltenvk-1.1.0#d0cb9e55d366b383e94ab5f5c299b2758e385f32" +source = "git+https://github.com/EmbarkStudios/ash-molten?branch=moltenvk-1.1.0#9b3010469c46e59b1ded6cb81873e80c4fe7c2f6" dependencies = [ "ash", ] @@ -178,17 +148,6 @@ version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" -[[package]] -name = "calloop" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aa2097be53a00de9e8fc349fea6d76221f398f5c4fa550d420669906962d160" -dependencies = [ - "mio", - "mio-extras", - "nix 0.14.1", -] - [[package]] name = "calloop" version = "0.6.5" @@ -228,7 +187,7 @@ checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" dependencies = [ "libc", "num-integer", - "num-traits 0.2.12", + "num-traits", "time", "winapi 0.3.9", ] @@ -480,7 +439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fbaabec2c953050352311293be5c6aba8e141ba19d6811862b232d6fd020484" dependencies = [ "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -515,7 +474,7 @@ dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", "strsim 0.9.3", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -526,7 +485,7 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ "darling_core", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -537,7 +496,7 @@ checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -588,7 +547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] -name = "example-runner" +name = "example-runner-ash" version = "0.1.0" dependencies = [ "ash", @@ -597,25 +556,32 @@ dependencies = [ "cfg-if 1.0.0", "spirv-builder", "structopt", - "winit 0.23.0", + "winit", ] [[package]] name = "example-runner-cpu" version = "0.1.0" dependencies = [ - "example-shader", "glam", "minifb", "rayon", + "sky-shader", ] [[package]] -name = "example-shader" +name = "example-runner-wgpu" version = "0.1.0" dependencies = [ - "glam", - "spirv-std", + "console_error_panic_hook", + "console_log", + "futures", + "spirv-builder", + "wasm-bindgen-futures", + "web-sys", + "wgpu", + "wgpu-subscriber", + "winit", ] [[package]] @@ -675,9 +641,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futures" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8e3078b7b2a8a671cb7a3d17b4760e4181ea243227776ba83fd043b4ca034e" +checksum = "95314d38584ffbfda215621d723e0a3906f032e03ae5551e650058dac83d4797" dependencies = [ "futures-channel", "futures-core", @@ -690,9 +656,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a4d35f7401e948629c9c3d6638fb9bf94e0b2121e96c3b428cc4e631f3eb74" +checksum = "0448174b01148032eed37ac4aed28963aaaa8cfa93569a08e5b479bbc6c2c151" dependencies = [ "futures-core", "futures-sink", @@ -700,15 +666,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d674eaa0056896d5ada519900dbf97ead2e46a7b6621e8160d79e2f2e1e2784b" +checksum = "18eaa56102984bed2c88ea39026cff3ce3b4c7f508ca970cedf2450ea10d4e46" [[package]] name = "futures-executor" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc709ca1da6f66143b8c9bec8e6260181869893714e9b5a490b169b0414144ab" +checksum = "f5f8e0c9258abaea85e78ebdda17ef9666d390e987f006be6080dfe354b708cb" dependencies = [ "futures-core", "futures-task", @@ -717,42 +683,42 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc94b64bb39543b4e432f1790b6bf18e3ee3b74653c5449f63310e9a74b123c" +checksum = "6e1798854a4727ff944a7b12aa999f58ce7aa81db80d2dfaaf2ba06f065ddd2b" [[package]] name = "futures-macro" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f57ed14da4603b2554682e9f2ff3c65d7567b53188db96cb71538217fc64581b" +checksum = "e36fccf3fc58563b4a14d265027c627c3b665d7fed489427e88e7cc929559efe" dependencies = [ "proc-macro-hack", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] name = "futures-sink" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8764258ed64ebc5d9ed185cf86a95db5cac810269c5d20ececb32e0088abbd" +checksum = "0e3ca3f17d6e8804ae5d3df7a7d35b2b3a6fe89dac84b31872720fc3060a0b11" [[package]] name = "futures-task" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd26820a9f3637f1302da8bceba3ff33adbe53464b54ca24d4e2d4f1db30f94" +checksum = "96d502af37186c4fef99453df03e374683f8a1eec9dcc1e66b3b82dc8278ce3c" dependencies = [ "once_cell", ] [[package]] name = "futures-util" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a894a0acddba51a2d49a6f4263b1e64b8c579ece8af50fa86503d52cd1eea34" +checksum = "abcb44342f62e6f3e8ac427b8aa815f724fd705dfad060b18ac7866c15bb8e34" dependencies = [ "futures-channel", "futures-core", @@ -777,6 +743,19 @@ dependencies = [ "byteorder", ] +[[package]] +name = "generator" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cdc09201b2e8ca1b19290cf7e65de2246b8e91fb6874279722189c4de7b94dc" +dependencies = [ + "cc", + "libc", + "log", + "rustc_version", + "winapi 0.3.9", +] + [[package]] name = "getrandom" version = "0.1.15" @@ -801,9 +780,9 @@ dependencies = [ [[package]] name = "gfx-backend-dx11" -version = "0.6.9" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a41af35d83b4ddc3179a9b3e00c03e874e15c50af439b8ad93312817750509" +checksum = "b0105746c65b502f6629b7e1acc3610a7726a2f8b37229119fb774d48af174dd" dependencies = [ "arrayvec", "bitflags", @@ -811,7 +790,7 @@ dependencies = [ "gfx-hal", "libloading", "log", - "parking_lot 0.11.0", + "parking_lot", "range-alloc", "raw-window-handle", "smallvec", @@ -870,7 +849,7 @@ dependencies = [ "log", "metal", "objc", - "parking_lot 0.11.0", + "parking_lot", "range-alloc", "raw-window-handle", "smallvec", @@ -971,11 +950,11 @@ checksum = "dd01a2a73f2f399df96b22dc88ea687ef4d76226284e7531ae3c7ee1dc5cb534" [[package]] name = "instant" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63312a18f7ea8760cdd0a7c5aac1a619752a246b833545e3e36d1f81f7cd9e66" +checksum = "cb1fc4429a33e1f80d41dc9fea4d108a88bec1de8053878898ae448a0b52f613" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "js-sys", "wasm-bindgen", "web-sys", @@ -1044,47 +1023,20 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743" +checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" [[package]] name = "libloading" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3557c9384f7f757f6d139cd3a4c62ef4e850696c16bf27924a5538c8a09717a1" +checksum = "1090080fe06ec2648d0da3881d9453d97e71a45f00eb179af7fdd7e3f686fdb0" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "winapi 0.3.9", ] -[[package]] -name = "line_drawing" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9" -dependencies = [ - "num-traits 0.2.12", -] - -[[package]] -name = "line_drawing" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81902e542483002b103c6424d23e765c2e5a65f732923299053a601bce50ab2" -dependencies = [ - "num-traits 0.1.43", -] - -[[package]] -name = "lock_api" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" -dependencies = [ - "scopeguard", -] - [[package]] name = "lock_api" version = "0.4.1" @@ -1103,6 +1055,19 @@ dependencies = [ "cfg-if 0.1.10", ] +[[package]] +name = "loom" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0e8460f2f2121162705187214720353c517b97bdfb3494c0b1e33d83ebe4bed" +dependencies = [ + "cfg-if 0.1.10", + "generator", + "scoped-tls", + "serde", + "serde_json", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -1129,9 +1094,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" [[package]] name = "memmap" @@ -1237,22 +1202,11 @@ dependencies = [ "bitflags", "fxhash", "log", - "num-traits 0.2.12", + "num-traits", "spirv_headers 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] -[[package]] -name = "ndk" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a356cafe20aee088789830bfea3a61336e84ded9e545e00d3869ce95dcb80c" -dependencies = [ - "jni-sys", - "ndk-sys 0.1.0", - "num_enum", -] - [[package]] name = "ndk" version = "0.2.1" @@ -1260,25 +1214,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5eb167c1febed0a496639034d0c76b3b74263636045db5489eee52143c246e73" dependencies = [ "jni-sys", - "ndk-sys 0.2.1", + "ndk-sys", "num_enum", "thiserror", ] -[[package]] -name = "ndk-glue" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1730ee2e3de41c3321160a6da815f008c4006d71b095880ea50e17cf52332b8" -dependencies = [ - "android_log-sys", - "lazy_static", - "libc", - "log", - "ndk 0.1.0", - "ndk-sys 0.1.0", -] - [[package]] name = "ndk-glue" version = "0.2.1" @@ -1288,9 +1228,9 @@ dependencies = [ "lazy_static", "libc", "log", - "ndk 0.2.1", + "ndk", "ndk-macro", - "ndk-sys 0.2.1", + "ndk-sys", ] [[package]] @@ -1303,15 +1243,9 @@ dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] -[[package]] -name = "ndk-sys" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2820aca934aba5ed91c79acc72b6a44048ceacc5d36c035ed4e051f12d887d" - [[package]] name = "ndk-sys" version = "0.2.1" @@ -1329,19 +1263,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "nix" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" -dependencies = [ - "bitflags", - "cc", - "cfg-if 0.1.10", - "libc", - "void", -] - [[package]] name = "nix" version = "0.17.0" @@ -1385,44 +1306,35 @@ checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e" dependencies = [ "num-integer", "num-iter", - "num-traits 0.2.12", + "num-traits", ] [[package]] name = "num-integer" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" dependencies = [ "autocfg 1.0.1", - "num-traits 0.2.12", + "num-traits", ] [[package]] name = "num-iter" -version = "0.1.41" +version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e6b7c748f995c4c29c5f5ae0248536e04a5739927c74ec0fa564805094b9f" +checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" dependencies = [ "autocfg 1.0.1", "num-integer", - "num-traits 0.2.12", + "num-traits", ] [[package]] name = "num-traits" -version = "0.1.43" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" -dependencies = [ - "num-traits 0.2.12", -] - -[[package]] -name = "num-traits" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ "autocfg 1.0.1", ] @@ -1456,7 +1368,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -1494,15 +1406,6 @@ dependencies = [ "sdl2", ] -[[package]] -name = "ordered-float" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3741934be594d77de1c8461ebcbbe866f585ea616a9753aa78f2bdc69f0e4579" -dependencies = [ - "num-traits 0.2.12", -] - [[package]] name = "output_vt100" version = "0.1.2" @@ -1521,16 +1424,6 @@ dependencies = [ "ttf-parser", ] -[[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.7.2", -] - [[package]] name = "parking_lot" version = "0.11.0" @@ -1538,22 +1431,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4893845fa2ca272e647da5d0e46660a314ead9c2fdd9a883aabc32e481a8733" dependencies = [ "instant", - "lock_api 0.4.1", - "parking_lot_core 0.8.0", -] - -[[package]] -name = "parking_lot_core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi 0.0.3", - "libc", - "redox_syscall", - "smallvec", - "winapi 0.3.9", + "lock_api", + "parking_lot_core", ] [[package]] @@ -1579,22 +1458,22 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "pin-project" -version = "0.4.27" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15" +checksum = "ee41d838744f60d959d7074e3afb6b35c7456d0f61cad38a24e35e6553f73841" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "0.4.27" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65ad2ae56b6abe3a1ee25f15ee605bacadb9a764edaba9c2bf4103800d4a1895" +checksum = "81a4ffa594b66bff340084d4081df649a7dc049ac8d7fc458d8e628bfbbb2f86" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -1651,7 +1530,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "version_check", ] @@ -1668,9 +1547,9 @@ dependencies = [ [[package]] name = "proc-macro-hack" -version = "0.5.18" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro-nested" @@ -1978,7 +1857,7 @@ source = "git+https://github.com/gfx-rs/rspirv.git?rev=f11f8797bd4df2d1d22cf1076 dependencies = [ "derive_more", "fxhash", - "num-traits 0.2.12", + "num-traits", "spirv_headers 1.5.0 (git+https://github.com/gfx-rs/rspirv.git?rev=f11f8797bd4df2d1d22cf10767b39a5119c57551)", ] @@ -2005,26 +1884,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rusttype" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310942406a39981bed7e12b09182a221a29e0990f3e7e0c971f131922ed135d5" -dependencies = [ - "rusttype 0.8.3", -] - -[[package]] -name = "rusttype" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f61411055101f7b60ecf1041d87fb74205fb20b0c7a723f07ef39174cf6b4c0" -dependencies = [ - "approx", - "ordered-float", - "stb_truetype", -] - [[package]] name = "rusttype" version = "0.9.2" @@ -2118,7 +1977,7 @@ checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2134,11 +1993,28 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.0.9" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d5a3f5166fb5b42a5439f2eee8b9de149e235961e3eb21c5808fc3ea17ff3e" +checksum = "7b4921be914e16899a80adefb821f8ddb7974e3f1250223575a44ed994882127" dependencies = [ "lazy_static", + "loom", +] + +[[package]] +name = "simplest-shader" +version = "0.1.0" +dependencies = [ + "glam", + "spirv-std", +] + +[[package]] +name = "sky-shader" +version = "0.1.0" +dependencies = [ + "glam", + "spirv-std", ] [[package]] @@ -2153,32 +2029,16 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" -[[package]] -name = "smithay-client-toolkit" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "421c8dc7acf5cb205b88160f8b4cc2c5cfabe210e43b2f80f009f4c1ef910f1d" -dependencies = [ - "andrew 0.2.1", - "bitflags", - "dlib", - "lazy_static", - "memmap", - "nix 0.14.1", - "wayland-client 0.23.6", - "wayland-protocols 0.23.6", -] - [[package]] name = "smithay-client-toolkit" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ec5c077def8af49f9b5aeeb5fcf8079c638c6615c3a8f9305e2dea601de57f7" dependencies = [ - "andrew 0.3.0", + "andrew", "bitflags", "byteorder", - "calloop 0.6.5", + "calloop", "dlib", "lazy_static", "log", @@ -2241,7 +2101,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f5b132530b1ac069df335577e3581765995cba5a13995cdbbdbc8fb057c532c" dependencies = [ "bitflags", - "num-traits 0.2.12", + "num-traits", ] [[package]] @@ -2250,16 +2110,7 @@ version = "1.5.0" source = "git+https://github.com/gfx-rs/rspirv.git?rev=f11f8797bd4df2d1d22cf10767b39a5119c57551#f11f8797bd4df2d1d22cf10767b39a5119c57551" dependencies = [ "bitflags", - "num-traits 0.2.12", -] - -[[package]] -name = "stb_truetype" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77b6b07e862c66a9f3e62a07588fee67cd90a9135a2b942409f195507b4fb51" -dependencies = [ - "byteorder", + "num-traits", ] [[package]] @@ -2268,7 +2119,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "418bb14643aa55a7841d5303f72cf512cfb323b8cc221d51580500a1ca75206c" dependencies = [ - "lock_api 0.4.1", + "lock_api", ] [[package]] @@ -2304,7 +2155,7 @@ dependencies = [ "proc-macro-error", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2320,9 +2171,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.46" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad5de3220ea04da322618ded2c42233d02baca219d6f160a3e9c87cda16c942" +checksum = "cc371affeffc477f42a221a1e4297aedcea33d47d19b61455588bd9d8f6b19ac" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -2381,7 +2232,7 @@ checksum = "cae2447b6282786c3493999f40a9be2a6ad20cb8bd268b0a0dbf5a065535c0ab" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2456,7 +2307,7 @@ checksum = "80e0ccfc3378da0cce270c946b676a376943f5cd16aeba64568e7939806f4ada" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2491,9 +2342,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef0a5e15477aa303afbfac3a44cba9b6430fdaad52423b1e6c0dbbe28c3eedd" +checksum = "2810660b9d5b18895d140caba6401765749a6a162e5d0736cfc44ea50db9d79d" dependencies = [ "ansi_term 0.12.1", "chrono", @@ -2609,7 +2460,7 @@ dependencies = [ "log", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "wasm-bindgen-shared", ] @@ -2643,7 +2494,7 @@ checksum = "f249f06ef7ee334cc3b8ff031bfc11ec99d00f34d86da7498396dc1e3b1498fe" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2654,23 +2505,6 @@ version = "0.2.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d649a3145108d7d3fbcde896a468d1bd636791823c9921135218ad89be08307" -[[package]] -name = "wayland-client" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1080ebe0efabcf12aef2132152f616038f2d7dcbbccf7b2d8c5270fe14bcda" -dependencies = [ - "bitflags", - "calloop 0.4.4", - "downcast-rs", - "libc", - "mio", - "nix 0.14.1", - "wayland-commons 0.23.6", - "wayland-scanner 0.23.6", - "wayland-sys 0.23.6", -] - [[package]] name = "wayland-client" version = "0.27.0" @@ -2702,16 +2536,6 @@ dependencies = [ "wayland-sys 0.28.1", ] -[[package]] -name = "wayland-commons" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb66b0d1a27c39bbce712b6372131c6e25149f03ffb0cd017cf8f7de8d66dbdb" -dependencies = [ - "nix 0.14.1", - "wayland-sys 0.23.6", -] - [[package]] name = "wayland-commons" version = "0.27.0" @@ -2758,18 +2582,6 @@ dependencies = [ "xcursor", ] -[[package]] -name = "wayland-protocols" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cc286643656742777d55dc8e70d144fa4699e426ca8e9d4ef454f4bf15ffcf9" -dependencies = [ - "bitflags", - "wayland-client 0.23.6", - "wayland-commons 0.23.6", - "wayland-scanner 0.23.6", -] - [[package]] name = "wayland-protocols" version = "0.27.0" @@ -2794,17 +2606,6 @@ dependencies = [ "wayland-scanner 0.28.1", ] -[[package]] -name = "wayland-scanner" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93b02247366f395b9258054f964fe293ddd019c3237afba9be2ccbe9e1651c3d" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "xml-rs", -] - [[package]] name = "wayland-scanner" version = "0.27.0" @@ -2827,16 +2628,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "wayland-sys" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d94e89a86e6d6d7c7c9b19ebf48a03afaac4af6bc22ae570e9a24124b75358f4" -dependencies = [ - "dlib", - "lazy_static", -] - [[package]] name = "wayland-sys" version = "0.27.0" @@ -2878,7 +2669,7 @@ dependencies = [ "gfx-backend-vulkan", "js-sys", "objc", - "parking_lot 0.11.0", + "parking_lot", "raw-window-handle", "smallvec", "tracing", @@ -2909,7 +2700,7 @@ dependencies = [ "gfx-hal", "gfx-memory", "naga", - "parking_lot 0.11.0", + "parking_lot", "raw-window-handle", "smallvec", "thiserror", @@ -2917,36 +2708,13 @@ dependencies = [ "wgpu-types", ] -[[package]] -name = "wgpu-example-runner" -version = "0.1.0" -dependencies = [ - "console_error_panic_hook", - "console_log", - "futures", - "spirv-builder", - "wasm-bindgen-futures", - "web-sys", - "wgpu", - "wgpu-subscriber", - "winit 0.22.2", -] - -[[package]] -name = "wgpu-example-shader" -version = "0.1.0" -dependencies = [ - "glam", - "spirv-std", -] - [[package]] name = "wgpu-subscriber" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91955b0d6480d86e577bbd0b0d1dd5acd0699c054610dc8673c4c3366295ed27" dependencies = [ - "parking_lot 0.11.0", + "parking_lot", "thread-id", "tracing", "tracing-log", @@ -3005,39 +2773,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winit" -version = "0.22.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4ccbf7ddb6627828eace16cacde80fc6bf4dbb3469f88487262a02cf8e7862" -dependencies = [ - "bitflags", - "cocoa 0.20.2", - "core-foundation 0.7.0", - "core-graphics 0.19.2", - "core-video-sys", - "dispatch", - "instant", - "lazy_static", - "libc", - "log", - "mio", - "mio-extras", - "ndk 0.1.0", - "ndk-glue 0.1.0", - "ndk-sys 0.1.0", - "objc", - "parking_lot 0.10.2", - "percent-encoding", - "raw-window-handle", - "smithay-client-toolkit 0.6.6", - "wasm-bindgen", - "wayland-client 0.23.6", - "web-sys", - "winapi 0.3.9", - "x11-dl", -] - [[package]] name = "winit" version = "0.23.0" @@ -3056,15 +2791,17 @@ dependencies = [ "log", "mio", "mio-extras", - "ndk 0.2.1", - "ndk-glue 0.2.1", - "ndk-sys 0.2.1", + "ndk", + "ndk-glue", + "ndk-sys", "objc", - "parking_lot 0.11.0", + "parking_lot", "percent-encoding", "raw-window-handle", - "smithay-client-toolkit 0.12.0", + "smithay-client-toolkit", + "wasm-bindgen", "wayland-client 0.28.1", + "web-sys", "winapi 0.3.9", "x11-dl", ] diff --git a/Cargo.toml b/Cargo.toml index c79635774a..398ce9f63e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,10 @@ [workspace] members = [ - "examples/example-runner-cpu", - "examples/example-runner", - "examples/wgpu-example-runner", - "examples/example-shader", - "examples/wgpu-example-shader", - + "examples/runners/cpu", + "examples/runners/ash", + "examples/runners/wgpu", + "examples/shaders/sky-shader", + "examples/shaders/simplest-shader", "rustc_codegen_spirv", "spirv-builder", "spirv-std", diff --git a/README.md b/README.md index 3400a44762..f4bdf770d5 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ pub fn main_fs(input: Input, mut output: Output) { } ``` -See [source](examples/example-shader/src/lib.rs) for full details. +See [source](examples/shaders/sky-shader/src/lib.rs) for full details. ## Background diff --git a/deny.toml b/deny.toml index 1e1670eb66..e0137f1424 100644 --- a/deny.toml +++ b/deny.toml @@ -37,9 +37,9 @@ skip = [ # by default infinite skip-tree = [ # we don't really care if our example brings in some duplicate dependencies, for now - { name = "example-runner", version = "*", depth = 20 }, + { name = "example-runner-ash", version = "*", depth = 20 }, { name = "example-runner-cpu", version = "*", depth = 20 }, - { name = "wgpu-example-runner", version = "*", depth = 20 }, + { name = "example-runner-wgpu", version = "*", depth = 20 }, ] diff --git a/docs/assets/sky.jpg b/docs/assets/sky.jpg index eb6cf6dd9bc0a24137088884784cfb90b83c5e4c..6ed63652ede207ab62b328942ab8f139ac6632c6 100644 GIT binary patch literal 322582 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%0A{T!v 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 XUU>2EyjhmX7@K{+&RM=Q?mhi4zoS@u literal 20567 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 diff --git a/docs/src/introduction.md b/docs/src/introduction.md index b68a0af556..e3b9e533cf 100644 --- a/docs/src/introduction.md +++ b/docs/src/introduction.md @@ -29,17 +29,17 @@ how to use and develop on Rust-GPU. 1. **optional** Install [SPIRV-Tools](https://github.com/KhronosGroup/SPIRV-Tools#downloads) and add it to your `PATH`. You can skip this step if you just want to run examples with the defaults. See [Using installed SPIRV-Tools](#using-installed-spirv-tools) if you decide to go with this option. -1. Next, look at the [examples](examples) folder. There are two projects here: [examples/example-shader](examples/example-shader) and [examples/example-runner](examples/example-runner). The example-shader project is a "GPU crate", one that will be compiled to a SPIR-V module. The example-runner project is a normal, CPU crate that uses vulkan to consume the example-shader SPIR-V module to display a shader. +1. Next, look at the [examples](examples) folder. There are two kinds of targets here: [runners](examples/runners) and [shaders](examples/shaders). The projects inside `shaders` are "GPU crates", i.e. ones that will be compiled one or more SPIR-V modules. The `runner` projects are normal, CPU crates that use some graphics backend (currently, we have a [`wgpu` runner](examples/runners/wgpu), a [Vulkan runner](examples/runners/ash) through `ash`, and a barebones pure software [CPU runner](examples/runners/cpu)) to actually run one of the "GPU crate" shaders. Run the example: ```shell - cargo run --bin example-runner + cargo run --bin example-runner-wgpu ``` - This will build `rustc_codegen_spirv`, the compiler, then use that compiler to build `example-shader` into a SPIR-V module, then finally, build a vulkan sample app (taken from [ash's examples](https://github.com/MaikKlein/ash/blob/master/examples/src/bin/triangle.rs)) using the built SPIR-V module to display the shader in a window. + This will build `rustc_codegen_spirv`, the compiler, then use that compiler to build [`sky-shader`](examples/shaders/sky-shader) into a SPIR-V module, then finally, build a `wgpu` sample app (modified from [`wgpu`'s examples](https://github.com/gfx-rs/wgpu-rs/tree/master/examples/hello-triangle)) using the built SPIR-V module to display the shader in a window. - All of this is orchestrated by the [spirv-builder](spirv-builder) crate, which is used in example-runner's `build.rs` file. Please look at that file, as well as both example projects in general, to see how to set up your own shaders! + All of this is orchestrated by the [spirv-builder](spirv-builder) crate, which is used in each of the example runners' [`build.rs` files](examples/runners/wgpu/build.rs). Please look at that file, as well as both example projects in general, to see how to set up your own shaders! Be aware that this project is in a very early phase - if the above doesn't work, please [file an issue](https://github.com/EmbarkStudios/rust-gpu/issues)! @@ -62,7 +62,7 @@ cargo build -Z build-std=core --target spirv-unknown-unknown --release This will produce a `target/spirv-unknown-unknown/release/crate_name.spv` file. -To create a GPU crate, look at the [examples/example-shader](examples/example-shader) crate. In short, reference the `spirv-std` crate, and use intrinsics defined there to create your shader. +To create a GPU crate, look at the crates in [examples/shaders](examples/shaders). In short, reference the `spirv-std` crate, and use intrinsics defined there to create your shader. This is all a little convoluted, hence the [spirv-builder](spirv-builder) crate handles a lot of this. diff --git a/examples/example-runner/build.rs b/examples/example-runner/build.rs deleted file mode 100644 index 5f7b5107d3..0000000000 --- a/examples/example-runner/build.rs +++ /dev/null @@ -1,8 +0,0 @@ -use spirv_builder::SpirvBuilder; -use std::error::Error; - -fn main() -> Result<(), Box> { - // This will set the env var `example-shader.spv` to a spir-v file that can be include!()'d - SpirvBuilder::new("../example-shader").build()?; - Ok(()) -} diff --git a/examples/example-runner/Cargo.toml b/examples/runners/ash/Cargo.toml similarity index 85% rename from examples/example-runner/Cargo.toml rename to examples/runners/ash/Cargo.toml index ee4ca501aa..44a772ae85 100644 --- a/examples/example-runner/Cargo.toml +++ b/examples/runners/ash/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "example-runner" +name = "example-runner-ash" version = "0.1.0" authors = ["Embark "] edition = "2018" @@ -22,4 +22,4 @@ winit = "0.23.0" ash-molten = { git = "https://github.com/EmbarkStudios/ash-molten", branch = "moltenvk-1.1.0" } [build-dependencies] -spirv-builder = { path = "../../spirv-builder", default-features = false } +spirv-builder = { path = "../../../spirv-builder", default-features = false } diff --git a/examples/runners/ash/build.rs b/examples/runners/ash/build.rs new file mode 100644 index 0000000000..751efafb5e --- /dev/null +++ b/examples/runners/ash/build.rs @@ -0,0 +1,8 @@ +use spirv_builder::SpirvBuilder; +use std::error::Error; + +fn main() -> Result<(), Box> { + // This will set the env var `sky-shader.spv` to a spir-v file that can be include!()'d + SpirvBuilder::new("../../shaders/sky-shader").build()?; + Ok(()) +} diff --git a/examples/example-runner/src/main.rs b/examples/runners/ash/src/main.rs similarity index 70% rename from examples/example-runner/src/main.rs rename to examples/runners/ash/src/main.rs index 285632eae5..c656c9b595 100644 --- a/examples/example-runner/src/main.rs +++ b/examples/runners/ash/src/main.rs @@ -14,8 +14,6 @@ use std::borrow::Cow; use std::default::Default; use std::ffi::{CStr, CString}; use std::io::Cursor; -use std::mem; -use std::mem::align_of; use std::ops::Drop; use structopt::StructOpt; @@ -188,10 +186,6 @@ pub struct ExampleBase { pub draw_command_buffer: vk::CommandBuffer, pub setup_command_buffer: vk::CommandBuffer, - pub depth_image: vk::Image, - pub depth_image_view: vk::ImageView, - pub depth_image_memory: vk::DeviceMemory, - pub present_complete_semaphore: vk::Semaphore, pub rendering_complete_semaphore: vk::Semaphore, @@ -367,16 +361,18 @@ impl ExampleBase { let surface_formats = surface_loader .get_physical_device_surface_formats(pdevice, surface) .unwrap(); - let surface_format = surface_formats + let acceptable_formats = { + [ + vk::Format::R8G8B8_SRGB, + vk::Format::B8G8R8_SRGB, + vk::Format::R8G8B8A8_SRGB, + vk::Format::B8G8R8A8_SRGB, + vk::Format::A8B8G8R8_SRGB_PACK32, + ] + }; + let surface_format = *surface_formats .iter() - .map(|sfmt| match sfmt.format { - vk::Format::UNDEFINED => vk::SurfaceFormatKHR { - format: vk::Format::B8G8R8_UNORM, - color_space: sfmt.color_space, - }, - _ => *sfmt, - }) - .next() + .find(|sfmt| acceptable_formats.contains(&sfmt.format)) .expect("Unable to find suitable surface format."); let surface_capabilities = surface_loader .get_physical_device_surface_capabilities(pdevice, surface) @@ -472,41 +468,6 @@ impl ExampleBase { }) .collect(); let device_memory_properties = instance.get_physical_device_memory_properties(pdevice); - let depth_image_create_info = vk::ImageCreateInfo::builder() - .image_type(vk::ImageType::TYPE_2D) - .format(vk::Format::D16_UNORM) - .extent(vk::Extent3D { - width: surface_resolution.width, - height: surface_resolution.height, - depth: 1, - }) - .mip_levels(1) - .array_layers(1) - .samples(vk::SampleCountFlags::TYPE_1) - .tiling(vk::ImageTiling::OPTIMAL) - .usage(vk::ImageUsageFlags::DEPTH_STENCIL_ATTACHMENT) - .sharing_mode(vk::SharingMode::EXCLUSIVE); - - let depth_image = device.create_image(&depth_image_create_info, None).unwrap(); - let depth_image_memory_req = device.get_image_memory_requirements(depth_image); - let depth_image_memory_index = find_memorytype_index( - &depth_image_memory_req, - &device_memory_properties, - vk::MemoryPropertyFlags::DEVICE_LOCAL, - ) - .expect("Unable to find suitable memory index for depth image."); - - let depth_image_allocate_info = vk::MemoryAllocateInfo::builder() - .allocation_size(depth_image_memory_req.size) - .memory_type_index(depth_image_memory_index); - - let depth_image_memory = device - .allocate_memory(&depth_image_allocate_info, None) - .unwrap(); - - device - .bind_image_memory(depth_image, depth_image_memory, 0) - .expect("Unable to bind depth image memory"); let fence_create_info = vk::FenceCreateInfo::builder().flags(vk::FenceCreateFlags::SIGNALED); @@ -518,59 +479,6 @@ impl ExampleBase { .create_fence(&fence_create_info, None) .expect("Create fence failed."); - record_submit_commandbuffer( - &device, - setup_command_buffer, - setup_commands_reuse_fence, - present_queue, - &[], - &[], - &[], - |device, setup_command_buffer| { - let layout_transition_barriers = vk::ImageMemoryBarrier::builder() - .image(depth_image) - .dst_access_mask( - vk::AccessFlags::DEPTH_STENCIL_ATTACHMENT_READ - | vk::AccessFlags::DEPTH_STENCIL_ATTACHMENT_WRITE, - ) - .new_layout(vk::ImageLayout::DEPTH_STENCIL_ATTACHMENT_OPTIMAL) - .old_layout(vk::ImageLayout::UNDEFINED) - .subresource_range( - vk::ImageSubresourceRange::builder() - .aspect_mask(vk::ImageAspectFlags::DEPTH) - .layer_count(1) - .level_count(1) - .build(), - ); - - device.cmd_pipeline_barrier( - setup_command_buffer, - vk::PipelineStageFlags::BOTTOM_OF_PIPE, - vk::PipelineStageFlags::LATE_FRAGMENT_TESTS, - vk::DependencyFlags::empty(), - &[], - &[], - &[layout_transition_barriers.build()], - ); - }, - ); - - let depth_image_view_info = vk::ImageViewCreateInfo::builder() - .subresource_range( - vk::ImageSubresourceRange::builder() - .aspect_mask(vk::ImageAspectFlags::DEPTH) - .level_count(1) - .layer_count(1) - .build(), - ) - .image(depth_image) - .format(depth_image_create_info.format) - .view_type(vk::ImageViewType::TYPE_2D); - - let depth_image_view = device - .create_image_view(&depth_image_view_info, None) - .unwrap(); - let semaphore_create_info = vk::SemaphoreCreateInfo::default(); let present_complete_semaphore = device @@ -599,8 +507,6 @@ impl ExampleBase { pool, draw_command_buffer, setup_command_buffer, - depth_image, - depth_image_view, present_complete_semaphore, rendering_complete_semaphore, draw_commands_reuse_fence, @@ -608,7 +514,6 @@ impl ExampleBase { surface, debug_call_back, debug_utils_loader, - depth_image_memory, }; (result, events_loop) } @@ -627,9 +532,6 @@ impl Drop for ExampleBase { .destroy_fence(self.draw_commands_reuse_fence, None); self.device .destroy_fence(self.setup_commands_reuse_fence, None); - self.device.free_memory(self.depth_image_memory, None); - self.device.destroy_image_view(self.depth_image_view, None); - self.device.destroy_image(self.depth_image, None); for &image_view in self.present_image_views.iter() { self.device.destroy_image_view(image_view, None); } @@ -650,12 +552,6 @@ impl Drop for ExampleBase { } } -#[derive(Clone, Debug, Copy)] -struct Vertex { - pos: [f32; 4], - color: [f32; 4], -} - #[derive(Debug, StructOpt)] #[structopt()] pub struct Options { @@ -669,32 +565,18 @@ fn main() { unsafe { let (base, events_loop) = ExampleBase::new(1920, 1080, &options); - let renderpass_attachments = [ - vk::AttachmentDescription { - format: base.surface_format.format, - samples: vk::SampleCountFlags::TYPE_1, - load_op: vk::AttachmentLoadOp::CLEAR, - store_op: vk::AttachmentStoreOp::STORE, - final_layout: vk::ImageLayout::PRESENT_SRC_KHR, - ..Default::default() - }, - vk::AttachmentDescription { - format: vk::Format::D16_UNORM, - samples: vk::SampleCountFlags::TYPE_1, - load_op: vk::AttachmentLoadOp::CLEAR, - initial_layout: vk::ImageLayout::DEPTH_STENCIL_ATTACHMENT_OPTIMAL, - final_layout: vk::ImageLayout::DEPTH_STENCIL_ATTACHMENT_OPTIMAL, - ..Default::default() - }, - ]; + let renderpass_attachments = [vk::AttachmentDescription { + format: base.surface_format.format, + samples: vk::SampleCountFlags::TYPE_1, + load_op: vk::AttachmentLoadOp::CLEAR, + store_op: vk::AttachmentStoreOp::STORE, + final_layout: vk::ImageLayout::PRESENT_SRC_KHR, + ..Default::default() + }]; let color_attachment_refs = [vk::AttachmentReference { attachment: 0, layout: vk::ImageLayout::COLOR_ATTACHMENT_OPTIMAL, }]; - let depth_attachment_ref = vk::AttachmentReference { - attachment: 1, - layout: vk::ImageLayout::DEPTH_STENCIL_ATTACHMENT_OPTIMAL, - }; let dependencies = [vk::SubpassDependency { src_subpass: vk::SUBPASS_EXTERNAL, src_stage_mask: vk::PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -706,7 +588,6 @@ fn main() { let subpasses = [vk::SubpassDescription::builder() .color_attachments(&color_attachment_refs) - .depth_stencil_attachment(&depth_attachment_ref) .pipeline_bind_point(vk::PipelineBindPoint::GRAPHICS) .build()]; @@ -724,7 +605,7 @@ fn main() { .present_image_views .iter() .map(|&present_image_view| { - let framebuffer_attachments = [present_image_view, base.depth_image_view]; + let framebuffer_attachments = [present_image_view]; let frame_buffer_create_info = vk::FramebufferCreateInfo::builder() .render_pass(renderpass) .attachments(&framebuffer_attachments) @@ -738,124 +619,7 @@ fn main() { }) .collect(); - let index_buffer_data = [0u32, 1, 2, 1, 2, 3]; - let index_buffer_info = vk::BufferCreateInfo::builder() - .size(std::mem::size_of_val(&index_buffer_data) as u64) - .usage(vk::BufferUsageFlags::INDEX_BUFFER) - .sharing_mode(vk::SharingMode::EXCLUSIVE); - - let index_buffer = base.device.create_buffer(&index_buffer_info, None).unwrap(); - let index_buffer_memory_req = base.device.get_buffer_memory_requirements(index_buffer); - let index_buffer_memory_index = find_memorytype_index( - &index_buffer_memory_req, - &base.device_memory_properties, - vk::MemoryPropertyFlags::HOST_VISIBLE | vk::MemoryPropertyFlags::HOST_COHERENT, - ) - .expect("Unable to find suitable memorytype for the index buffer."); - - let index_allocate_info = vk::MemoryAllocateInfo { - allocation_size: index_buffer_memory_req.size, - memory_type_index: index_buffer_memory_index, - ..Default::default() - }; - let index_buffer_memory = base - .device - .allocate_memory(&index_allocate_info, None) - .unwrap(); - let index_ptr = base - .device - .map_memory( - index_buffer_memory, - 0, - index_buffer_memory_req.size, - vk::MemoryMapFlags::empty(), - ) - .unwrap(); - let mut index_slice = Align::new( - index_ptr, - align_of::() as u64, - index_buffer_memory_req.size, - ); - index_slice.copy_from_slice(&index_buffer_data); - base.device.unmap_memory(index_buffer_memory); - base.device - .bind_buffer_memory(index_buffer, index_buffer_memory, 0) - .unwrap(); - - let vertices = [ - Vertex { - pos: [-1.0, 1.0, 0.0, 1.0], - color: [0.0, 1.0, 0.0, 1.0], - }, - Vertex { - pos: [1.0, 1.0, 0.0, 1.0], - color: [0.0, 0.0, 1.0, 1.0], - }, - Vertex { - pos: [-1.0, -1.0, 0.0, 1.0], - color: [1.0, 0.0, 0.0, 1.0], - }, - Vertex { - pos: [1.0, -1.0, 0.0, 1.0], - color: [1.0, 1.0, 1.0, 1.0], - }, - ]; - - let vertex_input_buffer_info = vk::BufferCreateInfo { - size: std::mem::size_of_val(&vertices) as u64 as u64, - usage: vk::BufferUsageFlags::VERTEX_BUFFER, - sharing_mode: vk::SharingMode::EXCLUSIVE, - ..Default::default() - }; - - let vertex_input_buffer = base - .device - .create_buffer(&vertex_input_buffer_info, None) - .unwrap(); - - let vertex_input_buffer_memory_req = base - .device - .get_buffer_memory_requirements(vertex_input_buffer); - - let vertex_input_buffer_memory_index = find_memorytype_index( - &vertex_input_buffer_memory_req, - &base.device_memory_properties, - vk::MemoryPropertyFlags::HOST_VISIBLE | vk::MemoryPropertyFlags::HOST_COHERENT, - ) - .expect("Unable to find suitable memorytype for the vertex buffer."); - - let vertex_buffer_allocate_info = vk::MemoryAllocateInfo { - allocation_size: vertex_input_buffer_memory_req.size, - memory_type_index: vertex_input_buffer_memory_index, - ..Default::default() - }; - - let vertex_input_buffer_memory = base - .device - .allocate_memory(&vertex_buffer_allocate_info, None) - .unwrap(); - - let vert_ptr = base - .device - .map_memory( - vertex_input_buffer_memory, - 0, - vertex_input_buffer_memory_req.size, - vk::MemoryMapFlags::empty(), - ) - .unwrap(); - - let mut vert_align = Align::new( - vert_ptr, - align_of::() as u64, - vertex_input_buffer_memory_req.size, - ); - vert_align.copy_from_slice(&vertices); - base.device.unmap_memory(vertex_input_buffer_memory); - base.device - .bind_buffer_memory(vertex_input_buffer, vertex_input_buffer_memory, 0) - .unwrap(); - let mut spv_file = Cursor::new(&include_bytes!(env!("example_shader.spv"))[..]); + let mut spv_file = Cursor::new(&include_bytes!(env!("sky_shader.spv"))[..]); let code = read_spv(&mut spv_file).expect("Failed to read spv file"); let shader_info = vk::ShaderModuleCreateInfo::builder().code(&code); @@ -888,31 +652,10 @@ fn main() { ..Default::default() }, ]; - let vertex_input_binding_descriptions = [vk::VertexInputBindingDescription { - binding: 0, - stride: mem::size_of::() as u32, - input_rate: vk::VertexInputRate::VERTEX, - }]; - let vertex_input_attribute_descriptions = [ - vk::VertexInputAttributeDescription { - location: 0, - binding: 0, - format: vk::Format::R32G32B32A32_SFLOAT, - offset: offset_of!(Vertex, pos) as u32, - }, - vk::VertexInputAttributeDescription { - location: 1, - binding: 0, - format: vk::Format::R32G32B32A32_SFLOAT, - offset: offset_of!(Vertex, color) as u32, - }, - ]; let vertex_input_state_info = vk::PipelineVertexInputStateCreateInfo { - vertex_attribute_description_count: vertex_input_attribute_descriptions.len() as u32, - p_vertex_attribute_descriptions: vertex_input_attribute_descriptions.as_ptr(), - vertex_binding_description_count: vertex_input_binding_descriptions.len() as u32, - p_vertex_binding_descriptions: vertex_input_binding_descriptions.as_ptr(), + vertex_attribute_description_count: 0, + vertex_binding_description_count: 0, ..Default::default() }; let vertex_input_assembly_state_info = vk::PipelineInputAssemblyStateCreateInfo { @@ -921,9 +664,9 @@ fn main() { }; let viewports = [vk::Viewport { x: 0.0, - y: 0.0, + y: base.surface_resolution.height as f32, width: base.surface_resolution.width as f32, - height: base.surface_resolution.height as f32, + height: -(base.surface_resolution.height as f32), min_depth: 0.0, max_depth: 1.0, }]; @@ -953,9 +696,9 @@ fn main() { ..Default::default() }; let depth_state_info = vk::PipelineDepthStencilStateCreateInfo { - depth_test_enable: 1, - depth_write_enable: 1, - depth_compare_op: vk::CompareOp::LESS_OR_EQUAL, + depth_test_enable: 0, + depth_write_enable: 0, + depth_compare_op: vk::CompareOp::ALWAYS, front: noop_stencil_state, back: noop_stencil_state, max_depth_bounds: 1.0, @@ -1013,19 +756,11 @@ fn main() { vk::Fence::null(), ) .unwrap(); - let clear_values = [ - vk::ClearValue { - color: vk::ClearColorValue { - float32: [0.0, 0.0, 0.0, 0.0], - }, + let clear_values = [vk::ClearValue { + color: vk::ClearColorValue { + float32: [0.0, 0.0, 0.0, 0.0], }, - vk::ClearValue { - depth_stencil: vk::ClearDepthStencilValue { - depth: 1.0, - stencil: 0, - }, - }, - ]; + }]; let render_pass_begin_info = vk::RenderPassBeginInfo::builder() .render_pass(renderpass) @@ -1057,26 +792,7 @@ fn main() { ); device.cmd_set_viewport(draw_command_buffer, 0, &viewports); device.cmd_set_scissor(draw_command_buffer, 0, &scissors); - device.cmd_bind_vertex_buffers( - draw_command_buffer, - 0, - &[vertex_input_buffer], - &[0], - ); - device.cmd_bind_index_buffer( - draw_command_buffer, - index_buffer, - 0, - vk::IndexType::UINT32, - ); - device.cmd_draw_indexed( - draw_command_buffer, - index_buffer_data.len() as u32, - 1, - 0, - 0, - 0, - ); + device.cmd_draw(draw_command_buffer, 3, 1, 0, 0); // Or draw without the index buffer // device.cmd_draw(draw_command_buffer, 3, 1, 0, 0); device.cmd_end_render_pass(draw_command_buffer); diff --git a/examples/example-runner-cpu/Cargo.toml b/examples/runners/cpu/Cargo.toml similarity index 87% rename from examples/example-runner-cpu/Cargo.toml rename to examples/runners/cpu/Cargo.toml index 07385444b9..f3afb4ee28 100644 --- a/examples/example-runner-cpu/Cargo.toml +++ b/examples/runners/cpu/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" [dependencies] minifb = "0.19.1" # bring in the shader as natively compiled code -example-shader = { path = "../example-shader" } +sky-shader = { path = "../../shaders/sky-shader" } glam = { version = "0.9", default_features = false } # for parallelism, not really needed though diff --git a/examples/example-runner-cpu/src/main.rs b/examples/runners/cpu/src/main.rs similarity index 75% rename from examples/example-runner-cpu/src/main.rs rename to examples/runners/cpu/src/main.rs index acbaeaec28..fc7856fd24 100644 --- a/examples/example-runner-cpu/src/main.rs +++ b/examples/runners/cpu/src/main.rs @@ -3,13 +3,22 @@ use minifb::{Key, Window, WindowOptions}; use rayon::prelude::*; use std::time::Instant; +// apply the srgb OETF (i.e. do "linear to sRGB") +fn srgb_oetf(x: f32) -> f32 { + if x <= 0.0031308 { + x * 12.92 + } else { + 1.055 * x.powf(1.0 / 2.4) - 0.055 + } +} + fn color_u32_from_vec4(v: Vec4) -> u32 { let convert = |f: f32| -> u32 { (f.min(1.0).max(0.0) * 255.0).round() as u32 }; - // this later will also do linear -> sRGB gamma correction for output, - // but currently our shader output is in sRGB so no conversion needed - - convert(v.z()) | convert(v.y()) << 8 | convert(v.x()) << 16 | convert(v.w()) << 24 + convert(srgb_oetf(v.z())) + | convert(srgb_oetf(v.y())) << 8 + | convert(srgb_oetf(v.x())) << 16 + | convert(v.w()) << 24 } fn main() { @@ -34,11 +43,11 @@ fn main() { .map(|i| { let screen_pos = vec2( (i % WIDTH) as f32 / WIDTH as f32 * 2.0 - 1.0, - (i / WIDTH) as f32 / HEIGHT as f32 * 2.0 - 1.0, + -((i / WIDTH) as f32 / HEIGHT as f32 * 2.0 - 1.0), ); // evaluate the fragment shader for the specific pixel - let color = example_shader::fs(screen_pos); + let color = sky_shader::fs(screen_pos); color_u32_from_vec4(color) }) diff --git a/examples/wgpu-example-runner/Cargo.toml b/examples/runners/wgpu/Cargo.toml similarity index 82% rename from examples/wgpu-example-runner/Cargo.toml rename to examples/runners/wgpu/Cargo.toml index 9e9f070fba..9691714ed8 100644 --- a/examples/wgpu-example-runner/Cargo.toml +++ b/examples/runners/wgpu/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wgpu-example-runner" +name = "example-runner-wgpu" version = "0.1.0" authors = ["Embark "] edition = "2018" @@ -14,10 +14,10 @@ use-compiled-tools = ["spirv-builder/use-compiled-tools"] [dependencies] wgpu = "0.6.0" futures = { version = "0.3", default-features = false, features = ["std", "executor"] } -winit = { version = "0.22.1", features = ["web-sys"] } +winit = { version = "0.23", features = ["web-sys"] } [build-dependencies] -spirv-builder = { path = "../../spirv-builder", default-features = false } +spirv-builder = { path = "../../../spirv-builder", default-features = false } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] wgpu-subscriber = "0.1.0" diff --git a/examples/wgpu-example-runner/build.rs b/examples/runners/wgpu/build.rs similarity index 51% rename from examples/wgpu-example-runner/build.rs rename to examples/runners/wgpu/build.rs index 0243f6c665..437f95e628 100644 --- a/examples/wgpu-example-runner/build.rs +++ b/examples/runners/wgpu/build.rs @@ -2,8 +2,8 @@ use spirv_builder::SpirvBuilder; use std::error::Error; fn main() -> Result<(), Box> { - // This will set the env var `wgpu-example-shader.spv` to a spir-v file that can be include!()'d - SpirvBuilder::new("../wgpu-example-shader") + // This will set the env var `sky-shader.spv` to a spir-v file that can be include!()'d + SpirvBuilder::new("../../shaders/sky-shader") .spirv_version(1, 0) .build()?; Ok(()) diff --git a/examples/wgpu-example-runner/src/main.rs b/examples/runners/wgpu/src/main.rs similarity index 99% rename from examples/wgpu-example-runner/src/main.rs rename to examples/runners/wgpu/src/main.rs index 4c7538dbd7..262e44c1b0 100644 --- a/examples/wgpu-example-runner/src/main.rs +++ b/examples/runners/wgpu/src/main.rs @@ -31,7 +31,7 @@ async fn run(event_loop: EventLoop<()>, window: Window, swapchain_format: wgpu:: .expect("Failed to create device"); // Load the shaders from disk - let module = device.create_shader_module(wgpu::include_spirv!(env!("wgpu_example_shader.spv"))); + let module = device.create_shader_module(wgpu::include_spirv!(env!("sky_shader.spv"))); let pipeline_layout = device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { label: None, diff --git a/examples/wgpu-example-shader/Cargo.toml b/examples/shaders/simplest-shader/Cargo.toml similarity index 58% rename from examples/wgpu-example-shader/Cargo.toml rename to examples/shaders/simplest-shader/Cargo.toml index 83f22f96a6..235327c200 100644 --- a/examples/wgpu-example-shader/Cargo.toml +++ b/examples/shaders/simplest-shader/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wgpu-example-shader" +name = "simplest-shader" version = "0.1.0" authors = ["Embark "] edition = "2018" @@ -9,5 +9,5 @@ license = "MIT OR Apache-2.0" crate-type = ["dylib"] [dependencies] -spirv-std = { path = "../../spirv-std" } -glam = { version = "0.9", default_features = false } \ No newline at end of file +spirv-std = { path = "../../../spirv-std" } +glam = { version = "0.9", default_features = false } diff --git a/examples/wgpu-example-shader/src/lib.rs b/examples/shaders/simplest-shader/src/lib.rs similarity index 100% rename from examples/wgpu-example-shader/src/lib.rs rename to examples/shaders/simplest-shader/src/lib.rs diff --git a/examples/example-shader/Cargo.toml b/examples/shaders/sky-shader/Cargo.toml similarity index 59% rename from examples/example-shader/Cargo.toml rename to examples/shaders/sky-shader/Cargo.toml index 46c8a796f9..08546320c0 100644 --- a/examples/example-shader/Cargo.toml +++ b/examples/shaders/sky-shader/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "example-shader" +name = "sky-shader" version = "0.1.0" authors = ["Embark "] edition = "2018" @@ -9,5 +9,5 @@ license = "MIT OR Apache-2.0" crate-type = ["dylib"] [dependencies] -spirv-std = { path = "../../spirv-std" } -glam = { version = "0.9", default_features = false } \ No newline at end of file +spirv-std = { path = "../../../spirv-std" } +glam = { version = "0.9", default_features = false } diff --git a/examples/example-shader/src/lib.rs b/examples/shaders/sky-shader/src/lib.rs similarity index 77% rename from examples/example-shader/src/lib.rs rename to examples/shaders/sky-shader/src/lib.rs index 35968a5dd4..93cb79bc46 100644 --- a/examples/example-shader/src/lib.rs +++ b/examples/shaders/sky-shader/src/lib.rs @@ -10,7 +10,6 @@ use glam::{const_vec3, Mat4, Vec2, Vec3, Vec4}; use spirv_std::{Input, MathExt, Output}; const DEPOLARIZATION_FACTOR: f32 = 0.035; -const LUMINANCE: f32 = 1.0; const MIE_COEFFICIENT: f32 = 0.005; const MIE_DIRECTIONAL_G: f32 = 0.8; const MIE_K_COEFFICIENT: Vec3 = const_vec3!([0.686, 0.678, 0.666]); @@ -24,19 +23,16 @@ const REFRACTIVE_INDEX: f32 = 1.0003; const SUN_ANGULAR_DIAMETER_DEGREES: f32 = 0.0093333; const SUN_INTENSITY_FACTOR: f32 = 1000.0; const SUN_INTENSITY_FALLOFF_STEEPNESS: f32 = 1.5; -const TONEMAP_WEIGHTING: Vec3 = const_vec3!([9.50; 3]); const TURBIDITY: f32 = 2.0; // TODO: add this to glam? Rust std has it on f32/f64 fn pow(v: Vec3, power: f32) -> Vec3 { - let v: [f32; 3] = v.into(); - Vec3::new(v[0].pow(power), v[1].pow(power), v[2].pow(power)) + Vec3::new(v.x().pow(power), v.y().pow(power), v.z().pow(power)) } // TODO: add this to glam? Rust std has it on f32/f64 fn exp(v: Vec3) -> Vec3 { - let v: [f32; 3] = v.into(); - Vec3::new(v[0].exp(), v[1].exp(), v[2].exp()) + Vec3::new(v.x().exp(), v.y().exp(), v.z().exp()) } /// Based on: https://seblagarde.wordpress.com/2014/12/01/inverse-trigonometric-functions-gpu-optimization-for-amd-gcn-architecture/ @@ -90,15 +86,15 @@ fn sun_intensity(zenith_angle_cos: f32) -> f32 { ) } -fn uncharted2_tonemap(w: Vec3) -> Vec3 { - const A: Vec3 = const_vec3!([0.15; 3]); // Shoulder strength - const B: Vec3 = const_vec3!([0.50; 3]); // Linear strength - const C: Vec3 = const_vec3!([0.10; 3]); // Linear angle - const D: Vec3 = const_vec3!([0.20; 3]); // Toe strength - const E: Vec3 = const_vec3!([0.02; 3]); // Toe numerator - const F: Vec3 = const_vec3!([0.30; 3]); // Toe denominator +fn tonemap(col: Vec3) -> Vec3 { + // see https://www.desmos.com/calculator/0eo9pzo1at + const A: f32 = 2.35; + const B: f32 = 2.8826666; + const C: f32 = 789.7459; + const D: f32 = 0.935; - ((w * (A * w + C * B) + D * E) / (w * (A * w + B) + D * F)) - E / F + let z = pow(col, A); + z / (pow(z, D) * B + Vec3::splat(C)) } fn sky(dir: Vec3, sun_position: Vec3) -> Vec3 { @@ -149,16 +145,8 @@ fn sky(dir: Vec3, sun_position: Vec3) -> Vec3 { ); let mut l0 = 0.1 * fex; l0 += sun_e * 19000.0 * fex * sundisk; - let mut tex_color = lin + l0; - tex_color *= Vec3::splat(0.04); - tex_color += Vec3::new(0.0, 0.001, 0.0025) * 0.3; - // Tonemapping - let white_scale = 1.0 / uncharted2_tonemap(TONEMAP_WEIGHTING); - let curr = uncharted2_tonemap(((2.0 / LUMINANCE.pow(4.0)).log2()) * tex_color); - let color = curr * white_scale; - - pow(color, 1.0 / (1.2 + (1.2 * sunfade))) + lin + l0 } pub fn fs(screen_pos: Vec2) -> Vec4 { @@ -172,37 +160,45 @@ pub fn fs(screen_pos: Vec2) -> Vec4 { Vec4::new(0.0, -0.14834046, -0.98893654, 0.0), ); - let cs_pos = Vec4::new(screen_pos.x(), -screen_pos.y(), 1.0, 1.0); - let ws_pos = { - let p = clip_to_world.mul_vec4(cs_pos); + let clip_pos = screen_pos.extend(1.0).extend(1.0); + let world_pos = { + let p = clip_to_world.mul_vec4(clip_pos); p.truncate() / p.w() }; - let dir = (ws_pos - eye_pos).normalize(); + let dir = (world_pos - eye_pos).normalize(); // evaluate Preetham sky model let color = sky(dir, sun_pos); - color.extend(1.0) + // Tonemapping + let color = color.max(Vec3::splat(0.0)).min(Vec3::splat(1024.0)); + + tonemap(color).extend(1.0) } #[allow(unused_attributes)] #[spirv(fragment)] -pub fn main_fs(input: Input, mut output: Output) { - let v = input.load(); - let color = fs(Vec2::new(v.x(), v.y())); - output.store(color) +pub fn main_fs(in_pos: Input, mut output: Output) { + let color = fs(in_pos.load()); + output.store(color); } #[allow(unused_attributes)] #[spirv(vertex)] pub fn main_vs( - in_pos: Input, - _in_color: Input, - #[spirv(position)] mut out_pos: Output, - mut out_color: Output, + #[spirv(vertex_index)] vert_idx: Input, + #[spirv(position)] mut builtin_pos: Output, + mut out_pos: Output, ) { - out_pos.store(in_pos.load()); - out_color.store(in_pos.load()); + let vert_idx = vert_idx.load(); + + // Create a "full screen triangle" by mapping the vertex index. + // ported from https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/ + let uv = Vec2::new(((vert_idx << 1) & 2) as f32, (vert_idx & 2) as f32); + let pos = 2.0 * uv - Vec2::one(); + + builtin_pos.store(pos.extend(0.0).extend(1.0)); + out_pos.store(pos); } #[cfg(all(not(test), target_arch = "spirv"))]