From 269b364a65049233267b7705f4500f49425746c4 Mon Sep 17 00:00:00 2001 From: firestar99 Date: Wed, 30 Sep 2026 13:32:53 +0200 Subject: [PATCH 1/3] update to wgpu 0.30.1 --- Cargo.lock | 97 +++++++++---------- Cargo.toml | 4 +- generated/graphics/wgpu/cargo-gpu/Cargo.toml | 4 +- .../mygraphics/src/wgpu_renderer/mod.rs | 1 + .../mygraphics/src/wgpu_renderer/swapchain.rs | 9 +- .../graphics/wgpu/spirv-builder/Cargo.toml | 4 +- .../mygraphics/src/wgpu_renderer/mod.rs | 1 + .../mygraphics/src/wgpu_renderer/swapchain.rs | 9 +- graphics/Cargo.toml.liquid | 4 +- graphics/mygraphics/src/wgpu_renderer/mod.rs | 1 + .../mygraphics/src/wgpu_renderer/swapchain.rs | 9 +- 11 files changed, 77 insertions(+), 66 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8e8874c..07b82b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -224,9 +224,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "bit-set" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" +checksum = "09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d" dependencies = [ "bit-vec", ] @@ -1426,26 +1426,6 @@ dependencies = [ "thiserror 2.0.21", ] -[[package]] -name = "gpu-descriptor" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" -dependencies = [ - "bitflags 2.13.2", - "gpu-descriptor-types", - "hashbrown 0.15.5", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" -dependencies = [ - "bitflags 2.13.2", -] - [[package]] name = "half" version = "2.7.1" @@ -1492,6 +1472,9 @@ name = "hashbrown" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash 0.2.0", +] [[package]] name = "heapless" @@ -1515,12 +1498,6 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - [[package]] name = "home" version = "0.5.12" @@ -2059,9 +2036,9 @@ dependencies = [ [[package]] name = "naga" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bf919621e7975acb27d881bae2fb993e0d45c8e0446e85e6272971e00dc8df" +checksum = "a616d2fb8c89516ac2723a581f69d6c18576046bed761bd6b305e5618e6ae130" dependencies = [ "arrayvec", "bit-set", @@ -2070,11 +2047,11 @@ dependencies = [ "cfg_aliases", "codespan-reporting", "half", - "hashbrown 0.16.1", - "hexf-parse", + "hashbrown 0.17.1", "indexmap", "libm", "log", + "naga-types", "num-traits", "once_cell", "petgraph", @@ -2084,6 +2061,18 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "naga-types" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "590afbf58a6f4f62873cd5cff4468061844bafa1cdf399cc954537c22d768d49" +dependencies = [ + "hashbrown 0.17.1", + "indexmap", + "rustc-hash", + "thiserror 2.0.21", +] + [[package]] name = "names" version = "0.14.0" @@ -2667,9 +2656,9 @@ dependencies = [ [[package]] name = "pollster" -version = "0.4.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" +checksum = "bc6355899e1c9462875b6757c79f3caa011a1fdae12bbb1a2e72dd1f234f8336" [[package]] name = "portable-atomic" @@ -4014,9 +4003,9 @@ dependencies = [ [[package]] name = "wgpu" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e8840e1ba2881d4cbb18d2147627a56af426ff064c0401eb0c8410c6325d07" +checksum = "527ccdf43dd5b2e8676eed9984ce00e2bbb0a1b85b70c1969dcb6cd2eb55ab9e" dependencies = [ "arrayvec", "bitflags 2.13.2", @@ -4024,7 +4013,7 @@ dependencies = [ "cfg-if", "cfg_aliases", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "js-sys", "log", "naga", @@ -4044,9 +4033,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f519832254e56965a9940c4af57dcb75f702b6f6fa4a0b172f685395843a4d7" +checksum = "14c018fce9b6270aa203c2fdd56f3cce996713534bd757e4ea58c8560b121f14" dependencies = [ "arrayvec", "bit-set", @@ -4055,10 +4044,11 @@ dependencies = [ "bytemuck", "cfg_aliases", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "log", "naga", + "naga-types", "once_cell", "parking_lot", "portable-atomic", @@ -4076,27 +4066,27 @@ dependencies = [ [[package]] name = "wgpu-core-deps-apple" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e39e26c4c0e07589e67d18546cf79ff45383659fc72fca4dd293358a0347f3" +checksum = "061f3d319a40d39d00b1ecc2c33b89fe21d4e6fe01859df3500a3a8ecccd6b68" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-windows-linux-android" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e592c1bbef6ad047647ae6e666ebd8cee7a32bb4544d9700ec96cbf73230257" +checksum = "7586165fd5f6d881cb9ce4bb71f40d6caab2c0f1837e3fc1d9788a197fb6004f" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-hal" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ace1c17727311c22a46e4e3faf56ea6de81af99dcc839bdfb54857b94d448d" +checksum = "b6b7fb58561a792bc237628ba0792e332de418fefe145f13b5ed8201e6d52f58" dependencies = [ "android_system_properties", "arrayvec", @@ -4106,12 +4096,12 @@ dependencies = [ "cfg-if", "cfg_aliases", "gpu-allocator", - "gpu-descriptor", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "libc", "libloading", "log", "naga", + "naga-types", "ordered-float 5.5.0", "parking_lot", "portable-atomic", @@ -4121,6 +4111,7 @@ dependencies = [ "raw-window-metal 1.1.0", "renderdoc-sys", "smallvec", + "static_assertions", "thiserror 2.0.21", "wgpu-naga-bridge", "wgpu-types", @@ -4129,9 +4120,9 @@ dependencies = [ [[package]] name = "wgpu-naga-bridge" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95226013f547544b223281cd16a4fb549aa9dcb562adbda0faae4c73ffbbc161" +checksum = "d2f62e73117bb7a62bfd9c5a5841438a823f6566c6442a808ee269d2d055c081" dependencies = [ "naga", "wgpu-types", @@ -4139,15 +4130,17 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84bf84cd9ca8ca45e2b223a3868f1adf9bfc0c66aeac212e76ee7e40fdadf8f5" +checksum = "99dad6f1fbdbbdb4c278a6508b059d44688f5cebddf78d005a46a31340269286" dependencies = [ "bitflags 2.13.2", "bytemuck", "js-sys", "log", + "naga-types", "raw-window-handle", + "static_assertions", "web-sys", ] diff --git a/Cargo.toml b/Cargo.toml index 5bbb205..40dfc0f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,8 +18,8 @@ repository = "" ash = "0.38" ash-window = "0.13" gpu-allocator = { version = "0.28.0", default-features = false, features = ["std", "vulkan"] } -wgpu = { version = "29.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } -pollster = "0.4.0" +wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } +pollster = "1.0.1" # rust-gpu cargo-gpu-install = { version = "0.10.0" } diff --git a/generated/graphics/wgpu/cargo-gpu/Cargo.toml b/generated/graphics/wgpu/cargo-gpu/Cargo.toml index 40ec7ac..8c9d4f0 100644 --- a/generated/graphics/wgpu/cargo-gpu/Cargo.toml +++ b/generated/graphics/wgpu/cargo-gpu/Cargo.toml @@ -17,8 +17,8 @@ unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spir [workspace.dependencies] # API -wgpu = { version = "29.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } -pollster = "0.4.0" +wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } +pollster = "1.0.1" # rust-gpu # While `cargo-gpu` is backwards compatible with older rust-gpu versions, easiest is to just match the versions exactly. diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs index 88149dd..450f1cc 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs @@ -89,6 +89,7 @@ impl State { instance.clone(), adapter.clone(), device.clone(), + queue.clone(), window.clone(), surface, ); diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/swapchain.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/swapchain.rs index 97aac5d..ad67257 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/swapchain.rs +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/swapchain.rs @@ -1,6 +1,8 @@ use anyhow::Context; use std::sync::Arc; -use wgpu::{Adapter, CurrentSurfaceTexture, Device, Instance, Surface, TextureFormat, TextureView}; +use wgpu::{ + Adapter, CurrentSurfaceTexture, Device, Instance, Queue, Surface, TextureFormat, TextureView, +}; use winit::dpi::PhysicalSize; use winit::window::Window; @@ -8,6 +10,7 @@ pub struct MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, format: TextureFormat, @@ -26,6 +29,7 @@ impl<'a> MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, ) -> Self { @@ -34,6 +38,7 @@ impl<'a> MySwapchainManager<'a> { instance, adapter, device, + queue, window, surface, format: caps.formats[0], @@ -79,7 +84,7 @@ impl<'a> MySwapchainManager<'a> { ..wgpu::TextureViewDescriptor::default() }); f(output_view)?; - surface_texture.present(); + self.queue.present(surface_texture); } CurrentSurfaceTexture::Occluded | CurrentSurfaceTexture::Timeout => (), CurrentSurfaceTexture::Suboptimal(_) | CurrentSurfaceTexture::Outdated => { diff --git a/generated/graphics/wgpu/spirv-builder/Cargo.toml b/generated/graphics/wgpu/spirv-builder/Cargo.toml index 1612158..5365885 100644 --- a/generated/graphics/wgpu/spirv-builder/Cargo.toml +++ b/generated/graphics/wgpu/spirv-builder/Cargo.toml @@ -17,8 +17,8 @@ unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spir [workspace.dependencies] # API -wgpu = { version = "29.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } -pollster = "0.4.0" +wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } +pollster = "1.0.1" # rust-gpu # The version of the dependencies `spirv-builder` and `spirv-std` must match exactly! diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs index 88149dd..450f1cc 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs +++ b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs @@ -89,6 +89,7 @@ impl State { instance.clone(), adapter.clone(), device.clone(), + queue.clone(), window.clone(), surface, ); diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/swapchain.rs b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/swapchain.rs index 97aac5d..ad67257 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/swapchain.rs +++ b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/swapchain.rs @@ -1,6 +1,8 @@ use anyhow::Context; use std::sync::Arc; -use wgpu::{Adapter, CurrentSurfaceTexture, Device, Instance, Surface, TextureFormat, TextureView}; +use wgpu::{ + Adapter, CurrentSurfaceTexture, Device, Instance, Queue, Surface, TextureFormat, TextureView, +}; use winit::dpi::PhysicalSize; use winit::window::Window; @@ -8,6 +10,7 @@ pub struct MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, format: TextureFormat, @@ -26,6 +29,7 @@ impl<'a> MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, ) -> Self { @@ -34,6 +38,7 @@ impl<'a> MySwapchainManager<'a> { instance, adapter, device, + queue, window, surface, format: caps.formats[0], @@ -79,7 +84,7 @@ impl<'a> MySwapchainManager<'a> { ..wgpu::TextureViewDescriptor::default() }); f(output_view)?; - surface_texture.present(); + self.queue.present(surface_texture); } CurrentSurfaceTexture::Occluded | CurrentSurfaceTexture::Timeout => (), CurrentSurfaceTexture::Suboptimal(_) | CurrentSurfaceTexture::Outdated => { diff --git a/graphics/Cargo.toml.liquid b/graphics/Cargo.toml.liquid index b198717..6fc9b5b 100644 --- a/graphics/Cargo.toml.liquid +++ b/graphics/Cargo.toml.liquid @@ -23,8 +23,8 @@ ash-window = "0.13" gpu-allocator = { version = "0.28.0", default-features = false, features = ["std", "vulkan"] } {%- endif -%} {%- if api == "wgpu" -%} -wgpu = { version = "29.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } -pollster = "0.4.0" +wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } +pollster = "1.0.1" {%- endif %} # rust-gpu diff --git a/graphics/mygraphics/src/wgpu_renderer/mod.rs b/graphics/mygraphics/src/wgpu_renderer/mod.rs index 88149dd..450f1cc 100644 --- a/graphics/mygraphics/src/wgpu_renderer/mod.rs +++ b/graphics/mygraphics/src/wgpu_renderer/mod.rs @@ -89,6 +89,7 @@ impl State { instance.clone(), adapter.clone(), device.clone(), + queue.clone(), window.clone(), surface, ); diff --git a/graphics/mygraphics/src/wgpu_renderer/swapchain.rs b/graphics/mygraphics/src/wgpu_renderer/swapchain.rs index 97aac5d..ad67257 100644 --- a/graphics/mygraphics/src/wgpu_renderer/swapchain.rs +++ b/graphics/mygraphics/src/wgpu_renderer/swapchain.rs @@ -1,6 +1,8 @@ use anyhow::Context; use std::sync::Arc; -use wgpu::{Adapter, CurrentSurfaceTexture, Device, Instance, Surface, TextureFormat, TextureView}; +use wgpu::{ + Adapter, CurrentSurfaceTexture, Device, Instance, Queue, Surface, TextureFormat, TextureView, +}; use winit::dpi::PhysicalSize; use winit::window::Window; @@ -8,6 +10,7 @@ pub struct MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, format: TextureFormat, @@ -26,6 +29,7 @@ impl<'a> MySwapchainManager<'a> { instance: Instance, adapter: Adapter, device: Device, + queue: Queue, window: Arc, surface: Surface<'a>, ) -> Self { @@ -34,6 +38,7 @@ impl<'a> MySwapchainManager<'a> { instance, adapter, device, + queue, window, surface, format: caps.formats[0], @@ -79,7 +84,7 @@ impl<'a> MySwapchainManager<'a> { ..wgpu::TextureViewDescriptor::default() }); f(output_view)?; - surface_texture.present(); + self.queue.present(surface_texture); } CurrentSurfaceTexture::Occluded | CurrentSurfaceTexture::Timeout => (), CurrentSurfaceTexture::Suboptimal(_) | CurrentSurfaceTexture::Outdated => { From 12396a199f636a82f99bc58cbd81d86d1495faed Mon Sep 17 00:00:00 2001 From: firestar99 Date: Wed, 30 Sep 2026 12:36:24 +0200 Subject: [PATCH 2/3] send glam Vec2 to shaders --- Cargo.lock | 2 ++ Cargo.toml | 8 ++++++-- generated/graphics/ash/cargo-gpu/Cargo.toml | 8 ++++++-- .../ash/cargo-gpu/mygraphics-shaders/Cargo.toml | 5 +++++ .../ash/cargo-gpu/mygraphics-shaders/src/lib.rs | 11 +++++------ .../graphics/ash/cargo-gpu/mygraphics/Cargo.toml | 9 ++++++++- .../ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs | 6 +++--- generated/graphics/ash/spirv-builder/Cargo.toml | 10 ++++++++-- .../ash/spirv-builder/mygraphics-shaders/Cargo.toml | 5 +++++ .../ash/spirv-builder/mygraphics-shaders/src/lib.rs | 11 +++++------ .../graphics/ash/spirv-builder/mygraphics/Cargo.toml | 9 ++++++++- .../spirv-builder/mygraphics/src/ash_renderer/mod.rs | 6 +++--- generated/graphics/wgpu/cargo-gpu/Cargo.toml | 8 ++++++-- .../wgpu/cargo-gpu/mygraphics-shaders/Cargo.toml | 5 +++++ .../wgpu/cargo-gpu/mygraphics-shaders/src/lib.rs | 11 +++++------ .../graphics/wgpu/cargo-gpu/mygraphics/Cargo.toml | 9 ++++++++- .../cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs | 5 +++-- generated/graphics/wgpu/spirv-builder/Cargo.toml | 10 ++++++++-- .../wgpu/spirv-builder/mygraphics-shaders/Cargo.toml | 5 +++++ .../wgpu/spirv-builder/mygraphics-shaders/src/lib.rs | 11 +++++------ .../graphics/wgpu/spirv-builder/mygraphics/Cargo.toml | 9 ++++++++- .../spirv-builder/mygraphics/src/wgpu_renderer/mod.rs | 5 +++-- graphics/Cargo.toml.liquid | 11 ++++++++--- graphics/mygraphics-shaders/Cargo.toml | 5 +++++ graphics/mygraphics-shaders/src/lib.rs | 11 +++++------ graphics/mygraphics/Cargo.toml | 9 ++++++++- graphics/mygraphics/Cargo.toml.liquid | 9 +++++++-- graphics/mygraphics/src/ash_renderer/mod.rs | 6 +++--- graphics/mygraphics/src/wgpu_renderer/mod.rs | 5 +++-- 29 files changed, 159 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 07b82b6..2bd344f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1397,6 +1397,7 @@ version = "0.33.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37bfe73dc8ec21f54d181e5a60554327ec3f1c600c455a75ccbfc65d2106a6c4" dependencies = [ + "bytemuck", "libm", ] @@ -2017,6 +2018,7 @@ dependencies = [ "bytemuck", "cargo-gpu-install", "env_logger", + "glam", "gpu-allocator", "mygraphics-shaders", "pollster", diff --git a/Cargo.toml b/Cargo.toml index 40dfc0f..7cdea26 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,8 @@ edition = "2024" license = "MIT" repository = "" + + [workspace.dependencies] # API ash = "0.38" @@ -25,9 +27,11 @@ pollster = "1.0.1" cargo-gpu-install = { version = "0.10.0" } spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" diff --git a/generated/graphics/ash/cargo-gpu/Cargo.toml b/generated/graphics/ash/cargo-gpu/Cargo.toml index 699d36d..75dbe8c 100644 --- a/generated/graphics/ash/cargo-gpu/Cargo.toml +++ b/generated/graphics/ash/cargo-gpu/Cargo.toml @@ -15,6 +15,8 @@ repository = "" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spirv"))'] } + + [workspace.dependencies] # API ash = "0.38" @@ -26,9 +28,11 @@ gpu-allocator = { version = "0.28.0", default-features = false, features = ["std cargo-gpu-install = { version = "0.10.0" } spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" diff --git a/generated/graphics/ash/cargo-gpu/mygraphics-shaders/Cargo.toml b/generated/graphics/ash/cargo-gpu/mygraphics-shaders/Cargo.toml index 75db940..c37565b 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics-shaders/Cargo.toml +++ b/generated/graphics/ash/cargo-gpu/mygraphics-shaders/Cargo.toml @@ -6,7 +6,12 @@ edition = "2024" [lints] workspace = true + + [dependencies] +# rust-gpu spirv-std.workspace = true + +# math libraries glam.workspace = true bytemuck.workspace = true diff --git a/generated/graphics/ash/cargo-gpu/mygraphics-shaders/src/lib.rs b/generated/graphics/ash/cargo-gpu/mygraphics-shaders/src/lib.rs index d2b343a..70ed429 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics-shaders/src/lib.rs +++ b/generated/graphics/ash/cargo-gpu/mygraphics-shaders/src/lib.rs @@ -2,7 +2,7 @@ use bytemuck::{Pod, Zeroable}; use core::f32::consts::PI; -use glam::{Vec3, Vec4, vec2, vec3}; +use glam::{Vec2, Vec3, Vec4, vec2, vec3}; #[cfg(target_arch = "spirv")] use spirv_std::num_traits::Float; use spirv_std::spirv; @@ -10,9 +10,9 @@ use spirv_std::spirv; #[derive(Copy, Clone, Pod, Zeroable)] #[repr(C)] pub struct ShaderConstants { - pub width: u32, - pub height: u32, pub time: f32, + pub speed: f32, + pub offset: Vec2, } #[spirv(fragment)] @@ -27,9 +27,8 @@ pub fn main_vs( #[spirv(position)] vtx_pos: &mut Vec4, vtx_color: &mut Vec3, ) { - let speed = 0.4; - let time = constants.time * speed + vert_id as f32 * (2. * PI * 120. / 360.); - let position = vec2(f32::sin(time), f32::cos(time)); + let time = constants.time * constants.speed + vert_id as f32 * (2. * PI * 120. / 360.); + let position = vec2(f32::sin(time), f32::cos(time)) + constants.offset; *vtx_pos = Vec4::from((position, 0.0, 1.0)); *vtx_color = [vec3(1., 0., 0.), vec3(0., 1., 0.), vec3(0., 0., 1.)][vert_id as usize % 3]; diff --git a/generated/graphics/ash/cargo-gpu/mygraphics/Cargo.toml b/generated/graphics/ash/cargo-gpu/mygraphics/Cargo.toml index e84a3a1..d83c6b5 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics/Cargo.toml +++ b/generated/graphics/ash/cargo-gpu/mygraphics/Cargo.toml @@ -10,6 +10,8 @@ repository.workspace = true [lints] workspace = true + + [dependencies] # shader crate mygraphics-shaders = { path = "../mygraphics-shaders" } @@ -19,11 +21,16 @@ ash.workspace = true ash-window.workspace = true gpu-allocator.workspace = true +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } +bytemuck = { version = "1.24.0", features = ["derive"] } + # other raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs b/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs index 6862b5c..b275525 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs +++ b/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs @@ -3,6 +3,7 @@ use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; use crate::util::enable_debug_layer; use ash::util::read_spv; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle; use std::sync::Arc; @@ -87,11 +88,10 @@ impl State { match event { WindowEvent::RedrawRequested => { self.swapchain.render(|frame| { - let extend = frame.extent; let shader_constants = ShaderConstants { - width: extend.width, - height: extend.height, time: self.start.elapsed().as_secs_f32(), + speed: 0.2, + offset: Vec2::new(0., 0.), }; self.renderer.render_frame(frame, &shader_constants) })?; diff --git a/generated/graphics/ash/spirv-builder/Cargo.toml b/generated/graphics/ash/spirv-builder/Cargo.toml index c37eb92..6372d1f 100644 --- a/generated/graphics/ash/spirv-builder/Cargo.toml +++ b/generated/graphics/ash/spirv-builder/Cargo.toml @@ -15,6 +15,8 @@ repository = "" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spirv"))'] } + + [workspace.dependencies] # API ash = "0.38" @@ -26,14 +28,18 @@ gpu-allocator = { version = "0.28.0", default-features = false, features = ["std spirv-builder = { version = "0.10.0" } spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" anyhow = "1.0.98" + + # Optimize build scripts, copied from rust-gpu's repo # Enable incremental by default in release mode. [profile.release] diff --git a/generated/graphics/ash/spirv-builder/mygraphics-shaders/Cargo.toml b/generated/graphics/ash/spirv-builder/mygraphics-shaders/Cargo.toml index 75db940..c37565b 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics-shaders/Cargo.toml +++ b/generated/graphics/ash/spirv-builder/mygraphics-shaders/Cargo.toml @@ -6,7 +6,12 @@ edition = "2024" [lints] workspace = true + + [dependencies] +# rust-gpu spirv-std.workspace = true + +# math libraries glam.workspace = true bytemuck.workspace = true diff --git a/generated/graphics/ash/spirv-builder/mygraphics-shaders/src/lib.rs b/generated/graphics/ash/spirv-builder/mygraphics-shaders/src/lib.rs index d2b343a..70ed429 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics-shaders/src/lib.rs +++ b/generated/graphics/ash/spirv-builder/mygraphics-shaders/src/lib.rs @@ -2,7 +2,7 @@ use bytemuck::{Pod, Zeroable}; use core::f32::consts::PI; -use glam::{Vec3, Vec4, vec2, vec3}; +use glam::{Vec2, Vec3, Vec4, vec2, vec3}; #[cfg(target_arch = "spirv")] use spirv_std::num_traits::Float; use spirv_std::spirv; @@ -10,9 +10,9 @@ use spirv_std::spirv; #[derive(Copy, Clone, Pod, Zeroable)] #[repr(C)] pub struct ShaderConstants { - pub width: u32, - pub height: u32, pub time: f32, + pub speed: f32, + pub offset: Vec2, } #[spirv(fragment)] @@ -27,9 +27,8 @@ pub fn main_vs( #[spirv(position)] vtx_pos: &mut Vec4, vtx_color: &mut Vec3, ) { - let speed = 0.4; - let time = constants.time * speed + vert_id as f32 * (2. * PI * 120. / 360.); - let position = vec2(f32::sin(time), f32::cos(time)); + let time = constants.time * constants.speed + vert_id as f32 * (2. * PI * 120. / 360.); + let position = vec2(f32::sin(time), f32::cos(time)) + constants.offset; *vtx_pos = Vec4::from((position, 0.0, 1.0)); *vtx_color = [vec3(1., 0., 0.), vec3(0., 1., 0.), vec3(0., 0., 1.)][vert_id as usize % 3]; diff --git a/generated/graphics/ash/spirv-builder/mygraphics/Cargo.toml b/generated/graphics/ash/spirv-builder/mygraphics/Cargo.toml index 2e19cf8..957af86 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics/Cargo.toml +++ b/generated/graphics/ash/spirv-builder/mygraphics/Cargo.toml @@ -14,6 +14,8 @@ workspace = true default = ["use-compiled-tools"] use-installed-tools = ["spirv-builder/use-installed-tools"] use-compiled-tools = ["spirv-builder/use-compiled-tools"] + + [dependencies] # shader crate mygraphics-shaders = { path = "../mygraphics-shaders" } @@ -23,11 +25,16 @@ ash.workspace = true ash-window.workspace = true gpu-allocator.workspace = true +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } +bytemuck = { version = "1.24.0", features = ["derive"] } + # other raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs b/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs index 6862b5c..b275525 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs +++ b/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs @@ -3,6 +3,7 @@ use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; use crate::util::enable_debug_layer; use ash::util::read_spv; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle; use std::sync::Arc; @@ -87,11 +88,10 @@ impl State { match event { WindowEvent::RedrawRequested => { self.swapchain.render(|frame| { - let extend = frame.extent; let shader_constants = ShaderConstants { - width: extend.width, - height: extend.height, time: self.start.elapsed().as_secs_f32(), + speed: 0.2, + offset: Vec2::new(0., 0.), }; self.renderer.render_frame(frame, &shader_constants) })?; diff --git a/generated/graphics/wgpu/cargo-gpu/Cargo.toml b/generated/graphics/wgpu/cargo-gpu/Cargo.toml index 8c9d4f0..23493ae 100644 --- a/generated/graphics/wgpu/cargo-gpu/Cargo.toml +++ b/generated/graphics/wgpu/cargo-gpu/Cargo.toml @@ -15,6 +15,8 @@ repository = "" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spirv"))'] } + + [workspace.dependencies] # API wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } @@ -25,9 +27,11 @@ pollster = "1.0.1" cargo-gpu-install = { version = "0.10.0" } spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/Cargo.toml b/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/Cargo.toml index 75db940..c37565b 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/Cargo.toml +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/Cargo.toml @@ -6,7 +6,12 @@ edition = "2024" [lints] workspace = true + + [dependencies] +# rust-gpu spirv-std.workspace = true + +# math libraries glam.workspace = true bytemuck.workspace = true diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/src/lib.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/src/lib.rs index d2b343a..70ed429 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/src/lib.rs +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics-shaders/src/lib.rs @@ -2,7 +2,7 @@ use bytemuck::{Pod, Zeroable}; use core::f32::consts::PI; -use glam::{Vec3, Vec4, vec2, vec3}; +use glam::{Vec2, Vec3, Vec4, vec2, vec3}; #[cfg(target_arch = "spirv")] use spirv_std::num_traits::Float; use spirv_std::spirv; @@ -10,9 +10,9 @@ use spirv_std::spirv; #[derive(Copy, Clone, Pod, Zeroable)] #[repr(C)] pub struct ShaderConstants { - pub width: u32, - pub height: u32, pub time: f32, + pub speed: f32, + pub offset: Vec2, } #[spirv(fragment)] @@ -27,9 +27,8 @@ pub fn main_vs( #[spirv(position)] vtx_pos: &mut Vec4, vtx_color: &mut Vec3, ) { - let speed = 0.4; - let time = constants.time * speed + vert_id as f32 * (2. * PI * 120. / 360.); - let position = vec2(f32::sin(time), f32::cos(time)); + let time = constants.time * constants.speed + vert_id as f32 * (2. * PI * 120. / 360.); + let position = vec2(f32::sin(time), f32::cos(time)) + constants.offset; *vtx_pos = Vec4::from((position, 0.0, 1.0)); *vtx_color = [vec3(1., 0., 0.), vec3(0., 1., 0.), vec3(0., 0., 1.)][vert_id as usize % 3]; diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/Cargo.toml b/generated/graphics/wgpu/cargo-gpu/mygraphics/Cargo.toml index b5b67ef..2e15a4c 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/Cargo.toml +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics/Cargo.toml @@ -10,6 +10,8 @@ repository.workspace = true [lints] workspace = true + + [dependencies] # shader crate mygraphics-shaders = { path = "../mygraphics-shaders" } @@ -19,11 +21,16 @@ wgpu.workspace = true pollster.workspace = true env_logger.workspace = true +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } +bytemuck = { version = "1.24.0", features = ["derive"] } + # other raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs index 450f1cc..ed6863b 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/wgpu_renderer/mod.rs @@ -1,6 +1,7 @@ use crate::wgpu_renderer::renderer::MyRenderer; use crate::wgpu_renderer::swapchain::MySwapchainManager; use anyhow::Context; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use pollster::block_on; use std::sync::Arc; @@ -114,8 +115,8 @@ impl State { self.renderer.render( &ShaderConstants { time: self.start.elapsed().as_secs_f32(), - width: render_target.texture().width(), - height: render_target.texture().height(), + speed: 0.2, + offset: Vec2::new(0., 0.), }, render_target, ) diff --git a/generated/graphics/wgpu/spirv-builder/Cargo.toml b/generated/graphics/wgpu/spirv-builder/Cargo.toml index 5365885..ce08b9f 100644 --- a/generated/graphics/wgpu/spirv-builder/Cargo.toml +++ b/generated/graphics/wgpu/spirv-builder/Cargo.toml @@ -15,6 +15,8 @@ repository = "" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spirv"))'] } + + [workspace.dependencies] # API wgpu = { version = "30.0.1", default-features = false, features = ["std", "parking_lot", "vulkan", "vulkan-portability", "spirv", "wgsl"] } @@ -25,14 +27,18 @@ pollster = "1.0.1" spirv-builder = { version = "0.10.0" } spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" anyhow = "1.0.98" + + # Optimize build scripts, copied from rust-gpu's repo # Enable incremental by default in release mode. [profile.release] diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/Cargo.toml b/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/Cargo.toml index 75db940..c37565b 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/Cargo.toml +++ b/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/Cargo.toml @@ -6,7 +6,12 @@ edition = "2024" [lints] workspace = true + + [dependencies] +# rust-gpu spirv-std.workspace = true + +# math libraries glam.workspace = true bytemuck.workspace = true diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/src/lib.rs b/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/src/lib.rs index d2b343a..70ed429 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/src/lib.rs +++ b/generated/graphics/wgpu/spirv-builder/mygraphics-shaders/src/lib.rs @@ -2,7 +2,7 @@ use bytemuck::{Pod, Zeroable}; use core::f32::consts::PI; -use glam::{Vec3, Vec4, vec2, vec3}; +use glam::{Vec2, Vec3, Vec4, vec2, vec3}; #[cfg(target_arch = "spirv")] use spirv_std::num_traits::Float; use spirv_std::spirv; @@ -10,9 +10,9 @@ use spirv_std::spirv; #[derive(Copy, Clone, Pod, Zeroable)] #[repr(C)] pub struct ShaderConstants { - pub width: u32, - pub height: u32, pub time: f32, + pub speed: f32, + pub offset: Vec2, } #[spirv(fragment)] @@ -27,9 +27,8 @@ pub fn main_vs( #[spirv(position)] vtx_pos: &mut Vec4, vtx_color: &mut Vec3, ) { - let speed = 0.4; - let time = constants.time * speed + vert_id as f32 * (2. * PI * 120. / 360.); - let position = vec2(f32::sin(time), f32::cos(time)); + let time = constants.time * constants.speed + vert_id as f32 * (2. * PI * 120. / 360.); + let position = vec2(f32::sin(time), f32::cos(time)) + constants.offset; *vtx_pos = Vec4::from((position, 0.0, 1.0)); *vtx_color = [vec3(1., 0., 0.), vec3(0., 1., 0.), vec3(0., 0., 1.)][vert_id as usize % 3]; diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/Cargo.toml b/generated/graphics/wgpu/spirv-builder/mygraphics/Cargo.toml index 744eaa1..6e05936 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/Cargo.toml +++ b/generated/graphics/wgpu/spirv-builder/mygraphics/Cargo.toml @@ -14,6 +14,8 @@ workspace = true default = ["use-compiled-tools"] use-installed-tools = ["spirv-builder/use-installed-tools"] use-compiled-tools = ["spirv-builder/use-compiled-tools"] + + [dependencies] # shader crate mygraphics-shaders = { path = "../mygraphics-shaders" } @@ -23,11 +25,16 @@ wgpu.workspace = true pollster.workspace = true env_logger.workspace = true +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } +bytemuck = { version = "1.24.0", features = ["derive"] } + # other raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs index 450f1cc..ed6863b 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs +++ b/generated/graphics/wgpu/spirv-builder/mygraphics/src/wgpu_renderer/mod.rs @@ -1,6 +1,7 @@ use crate::wgpu_renderer::renderer::MyRenderer; use crate::wgpu_renderer::swapchain::MySwapchainManager; use anyhow::Context; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use pollster::block_on; use std::sync::Arc; @@ -114,8 +115,8 @@ impl State { self.renderer.render( &ShaderConstants { time: self.start.elapsed().as_secs_f32(), - width: render_target.texture().width(), - height: render_target.texture().height(), + speed: 0.2, + offset: Vec2::new(0., 0.), }, render_target, ) diff --git a/graphics/Cargo.toml.liquid b/graphics/Cargo.toml.liquid index 6fc9b5b..3901333 100644 --- a/graphics/Cargo.toml.liquid +++ b/graphics/Cargo.toml.liquid @@ -15,6 +15,8 @@ repository = "" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(target_arch, values("spirv"))'] } + + [workspace.dependencies] # API {% if api == "ash" -%} @@ -38,15 +40,18 @@ cargo-gpu-install = { version = "0.10.0" } {% endif -%} spirv-std = { version = "0.10.0" } -# other -glam = { version = "0.33.11", default-features = false } +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } bytemuck = { version = "1.24.0", features = ["derive"] } + +# other raw-window-handle = "0.6.2" winit = "0.30.0" env_logger = "0.11.8" anyhow = "1.0.98" -{% if integration == "spirv-builder" -%} +{% if integration == "spirv-builder" %} + # Optimize build scripts, copied from rust-gpu's repo # Enable incremental by default in release mode. [profile.release] diff --git a/graphics/mygraphics-shaders/Cargo.toml b/graphics/mygraphics-shaders/Cargo.toml index 75db940..c37565b 100644 --- a/graphics/mygraphics-shaders/Cargo.toml +++ b/graphics/mygraphics-shaders/Cargo.toml @@ -6,7 +6,12 @@ edition = "2024" [lints] workspace = true + + [dependencies] +# rust-gpu spirv-std.workspace = true + +# math libraries glam.workspace = true bytemuck.workspace = true diff --git a/graphics/mygraphics-shaders/src/lib.rs b/graphics/mygraphics-shaders/src/lib.rs index d2b343a..70ed429 100644 --- a/graphics/mygraphics-shaders/src/lib.rs +++ b/graphics/mygraphics-shaders/src/lib.rs @@ -2,7 +2,7 @@ use bytemuck::{Pod, Zeroable}; use core::f32::consts::PI; -use glam::{Vec3, Vec4, vec2, vec3}; +use glam::{Vec2, Vec3, Vec4, vec2, vec3}; #[cfg(target_arch = "spirv")] use spirv_std::num_traits::Float; use spirv_std::spirv; @@ -10,9 +10,9 @@ use spirv_std::spirv; #[derive(Copy, Clone, Pod, Zeroable)] #[repr(C)] pub struct ShaderConstants { - pub width: u32, - pub height: u32, pub time: f32, + pub speed: f32, + pub offset: Vec2, } #[spirv(fragment)] @@ -27,9 +27,8 @@ pub fn main_vs( #[spirv(position)] vtx_pos: &mut Vec4, vtx_color: &mut Vec3, ) { - let speed = 0.4; - let time = constants.time * speed + vert_id as f32 * (2. * PI * 120. / 360.); - let position = vec2(f32::sin(time), f32::cos(time)); + let time = constants.time * constants.speed + vert_id as f32 * (2. * PI * 120. / 360.); + let position = vec2(f32::sin(time), f32::cos(time)) + constants.offset; *vtx_pos = Vec4::from((position, 0.0, 1.0)); *vtx_color = [vec3(1., 0., 0.), vec3(0., 1., 0.), vec3(0., 0., 1.)][vert_id as usize % 3]; diff --git a/graphics/mygraphics/Cargo.toml b/graphics/mygraphics/Cargo.toml index faca44f..933bb86 100644 --- a/graphics/mygraphics/Cargo.toml +++ b/graphics/mygraphics/Cargo.toml @@ -10,10 +10,16 @@ repository.workspace = true [lints] workspace = true + + [dependencies] # shader crate mygraphics-shaders = { path = "../mygraphics-shaders" } +# math libraries +glam.workspace = true +bytemuck.workspace = true + # API ash.workspace = true ash-window.workspace = true @@ -26,7 +32,8 @@ env_logger.workspace = true raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/graphics/mygraphics/Cargo.toml.liquid b/graphics/mygraphics/Cargo.toml.liquid index 2174d76..47af0e2 100644 --- a/graphics/mygraphics/Cargo.toml.liquid +++ b/graphics/mygraphics/Cargo.toml.liquid @@ -15,7 +15,7 @@ workspace = true default = ["use-compiled-tools"] use-installed-tools = ["spirv-builder/use-installed-tools"] use-compiled-tools = ["spirv-builder/use-compiled-tools"] -{% endif -%} +{% endif %} [dependencies] # shader crate @@ -33,11 +33,16 @@ pollster.workspace = true env_logger.workspace = true {%- endif %} +# math libraries +glam = { version = "0.33.11", default-features = false, features = ["bytemuck"] } +bytemuck = { version = "1.24.0", features = ["derive"] } + # other raw-window-handle.workspace = true winit.workspace = true anyhow.workspace = true -bytemuck.workspace = true + + [build-dependencies] # rust-gpu diff --git a/graphics/mygraphics/src/ash_renderer/mod.rs b/graphics/mygraphics/src/ash_renderer/mod.rs index 6862b5c..b275525 100644 --- a/graphics/mygraphics/src/ash_renderer/mod.rs +++ b/graphics/mygraphics/src/ash_renderer/mod.rs @@ -3,6 +3,7 @@ use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; use crate::util::enable_debug_layer; use ash::util::read_spv; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle; use std::sync::Arc; @@ -87,11 +88,10 @@ impl State { match event { WindowEvent::RedrawRequested => { self.swapchain.render(|frame| { - let extend = frame.extent; let shader_constants = ShaderConstants { - width: extend.width, - height: extend.height, time: self.start.elapsed().as_secs_f32(), + speed: 0.2, + offset: Vec2::new(0., 0.), }; self.renderer.render_frame(frame, &shader_constants) })?; diff --git a/graphics/mygraphics/src/wgpu_renderer/mod.rs b/graphics/mygraphics/src/wgpu_renderer/mod.rs index 450f1cc..ed6863b 100644 --- a/graphics/mygraphics/src/wgpu_renderer/mod.rs +++ b/graphics/mygraphics/src/wgpu_renderer/mod.rs @@ -1,6 +1,7 @@ use crate::wgpu_renderer::renderer::MyRenderer; use crate::wgpu_renderer::swapchain::MySwapchainManager; use anyhow::Context; +use glam::Vec2; use mygraphics_shaders::ShaderConstants; use pollster::block_on; use std::sync::Arc; @@ -114,8 +115,8 @@ impl State { self.renderer.render( &ShaderConstants { time: self.start.elapsed().as_secs_f32(), - width: render_target.texture().width(), - height: render_target.texture().height(), + speed: 0.2, + offset: Vec2::new(0., 0.), }, render_target, ) From 5cf4ea57e61aa0af0473996c652edaebb7e52138 Mon Sep 17 00:00:00 2001 From: firestar99 Date: Wed, 30 Sep 2026 13:28:04 +0200 Subject: [PATCH 3/3] remove util.rs --- .../ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs | 5 ++++- generated/graphics/ash/cargo-gpu/mygraphics/src/lib.rs | 1 - generated/graphics/ash/cargo-gpu/mygraphics/src/util.rs | 3 --- .../ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs | 5 ++++- generated/graphics/ash/spirv-builder/mygraphics/src/lib.rs | 1 - generated/graphics/ash/spirv-builder/mygraphics/src/util.rs | 3 --- generated/graphics/wgpu/cargo-gpu/mygraphics/src/lib.rs | 1 - generated/graphics/wgpu/cargo-gpu/mygraphics/src/util.rs | 3 --- generated/graphics/wgpu/spirv-builder/mygraphics/src/lib.rs | 1 - generated/graphics/wgpu/spirv-builder/mygraphics/src/util.rs | 3 --- graphics/mygraphics/src/ash_renderer/mod.rs | 5 ++++- graphics/mygraphics/src/lib.rs | 1 - graphics/mygraphics/src/lib.rs.liquid | 1 - graphics/mygraphics/src/util.rs | 3 --- 14 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 generated/graphics/ash/cargo-gpu/mygraphics/src/util.rs delete mode 100644 generated/graphics/ash/spirv-builder/mygraphics/src/util.rs delete mode 100644 generated/graphics/wgpu/cargo-gpu/mygraphics/src/util.rs delete mode 100644 generated/graphics/wgpu/spirv-builder/mygraphics/src/util.rs delete mode 100644 graphics/mygraphics/src/util.rs diff --git a/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs b/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs index b275525..ed4ba80 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs +++ b/generated/graphics/ash/cargo-gpu/mygraphics/src/ash_renderer/mod.rs @@ -1,7 +1,6 @@ use crate::ash_renderer::device::MyDevice; use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; -use crate::util::enable_debug_layer; use ash::util::read_spv; use glam::Vec2; use mygraphics_shaders::ShaderConstants; @@ -119,3 +118,7 @@ pub fn get_shaders() -> anyhow::Result> { const SPV_BYTES: &[u8] = include_bytes!(env!("SHADER_SPV_PATH")); Ok(read_spv(&mut std::io::Cursor::new(SPV_BYTES))?) } + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) +} diff --git a/generated/graphics/ash/cargo-gpu/mygraphics/src/lib.rs b/generated/graphics/ash/cargo-gpu/mygraphics/src/lib.rs index 86677f1..670c727 100644 --- a/generated/graphics/ash/cargo-gpu/mygraphics/src/lib.rs +++ b/generated/graphics/ash/cargo-gpu/mygraphics/src/lib.rs @@ -1,2 +1 @@ pub mod ash_renderer; -pub mod util; diff --git a/generated/graphics/ash/cargo-gpu/mygraphics/src/util.rs b/generated/graphics/ash/cargo-gpu/mygraphics/src/util.rs deleted file mode 100644 index deac204..0000000 --- a/generated/graphics/ash/cargo-gpu/mygraphics/src/util.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn enable_debug_layer() -> bool { - std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) -} diff --git a/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs b/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs index b275525..ed4ba80 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs +++ b/generated/graphics/ash/spirv-builder/mygraphics/src/ash_renderer/mod.rs @@ -1,7 +1,6 @@ use crate::ash_renderer::device::MyDevice; use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; -use crate::util::enable_debug_layer; use ash::util::read_spv; use glam::Vec2; use mygraphics_shaders::ShaderConstants; @@ -119,3 +118,7 @@ pub fn get_shaders() -> anyhow::Result> { const SPV_BYTES: &[u8] = include_bytes!(env!("SHADER_SPV_PATH")); Ok(read_spv(&mut std::io::Cursor::new(SPV_BYTES))?) } + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) +} diff --git a/generated/graphics/ash/spirv-builder/mygraphics/src/lib.rs b/generated/graphics/ash/spirv-builder/mygraphics/src/lib.rs index 86677f1..670c727 100644 --- a/generated/graphics/ash/spirv-builder/mygraphics/src/lib.rs +++ b/generated/graphics/ash/spirv-builder/mygraphics/src/lib.rs @@ -1,2 +1 @@ pub mod ash_renderer; -pub mod util; diff --git a/generated/graphics/ash/spirv-builder/mygraphics/src/util.rs b/generated/graphics/ash/spirv-builder/mygraphics/src/util.rs deleted file mode 100644 index deac204..0000000 --- a/generated/graphics/ash/spirv-builder/mygraphics/src/util.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn enable_debug_layer() -> bool { - std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) -} diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/lib.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/lib.rs index 00d9995..8b20700 100644 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/lib.rs +++ b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/lib.rs @@ -1,2 +1 @@ -pub mod util; pub mod wgpu_renderer; diff --git a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/util.rs b/generated/graphics/wgpu/cargo-gpu/mygraphics/src/util.rs deleted file mode 100644 index deac204..0000000 --- a/generated/graphics/wgpu/cargo-gpu/mygraphics/src/util.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn enable_debug_layer() -> bool { - std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) -} diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/src/lib.rs b/generated/graphics/wgpu/spirv-builder/mygraphics/src/lib.rs index 00d9995..8b20700 100644 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/src/lib.rs +++ b/generated/graphics/wgpu/spirv-builder/mygraphics/src/lib.rs @@ -1,2 +1 @@ -pub mod util; pub mod wgpu_renderer; diff --git a/generated/graphics/wgpu/spirv-builder/mygraphics/src/util.rs b/generated/graphics/wgpu/spirv-builder/mygraphics/src/util.rs deleted file mode 100644 index deac204..0000000 --- a/generated/graphics/wgpu/spirv-builder/mygraphics/src/util.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn enable_debug_layer() -> bool { - std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) -} diff --git a/graphics/mygraphics/src/ash_renderer/mod.rs b/graphics/mygraphics/src/ash_renderer/mod.rs index b275525..ed4ba80 100644 --- a/graphics/mygraphics/src/ash_renderer/mod.rs +++ b/graphics/mygraphics/src/ash_renderer/mod.rs @@ -1,7 +1,6 @@ use crate::ash_renderer::device::MyDevice; use crate::ash_renderer::renderer::MyRenderer; use crate::ash_renderer::swapchain::MySwapchainManager; -use crate::util::enable_debug_layer; use ash::util::read_spv; use glam::Vec2; use mygraphics_shaders::ShaderConstants; @@ -119,3 +118,7 @@ pub fn get_shaders() -> anyhow::Result> { const SPV_BYTES: &[u8] = include_bytes!(env!("SHADER_SPV_PATH")); Ok(read_spv(&mut std::io::Cursor::new(SPV_BYTES))?) } + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) +} diff --git a/graphics/mygraphics/src/lib.rs b/graphics/mygraphics/src/lib.rs index da82c87..70e02e3 100644 --- a/graphics/mygraphics/src/lib.rs +++ b/graphics/mygraphics/src/lib.rs @@ -1,3 +1,2 @@ pub mod ash_renderer; -pub mod util; pub mod wgpu_renderer; diff --git a/graphics/mygraphics/src/lib.rs.liquid b/graphics/mygraphics/src/lib.rs.liquid index eea8d32..6f3a9a7 100644 --- a/graphics/mygraphics/src/lib.rs.liquid +++ b/graphics/mygraphics/src/lib.rs.liquid @@ -1,7 +1,6 @@ {% if api == "ash" -%} pub mod ash_renderer; {% endif -%} -pub mod util; {% if api == "wgpu" -%} pub mod wgpu_renderer; {% endif -%} diff --git a/graphics/mygraphics/src/util.rs b/graphics/mygraphics/src/util.rs deleted file mode 100644 index deac204..0000000 --- a/graphics/mygraphics/src/util.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub fn enable_debug_layer() -> bool { - std::env::var("DEBUG_LAYER").is_ok_and(|e| !(e == "0" || e == "false")) -}