Shaders: add BufferStruct to support bool and enums (#3109)

* node-macro: modernize `node` macro

* node-macro: add `CrateIdent` struct containing resolved crate paths

* shaders: add trait `BufferStruct` and derive macro

* shaders: `gamma_correction` and `channel_mixer` gpu nodes

* shaders: `selective_color` gpu node

* shaders: `brightness_contrast_classic` gpu node

* shaders: append GPU to display name

* node-macro: fixup doc links

* shaders: consistently append " GPU" to all shader node names
This commit is contained in:
Firestar99
2025-09-05 18:32:41 +02:00
committed by GitHub
parent acd7ba38cc
commit f12b4da549
22 changed files with 788 additions and 118 deletions

6
Cargo.lock generated
View File

@@ -2137,10 +2137,13 @@ dependencies = [
"graphene-core",
"half",
"log",
"node-macro",
"num-derive",
"num-traits",
"num_enum",
"serde",
"specta",
"spirv-std",
]
[[package]]
@@ -2186,6 +2189,7 @@ dependencies = [
"ndarray",
"node-macro",
"num-traits",
"num_enum",
"rand 0.9.2",
"rand_chacha 0.9.0",
"serde",
@@ -3470,6 +3474,7 @@ version = "0.0.0"
dependencies = [
"convert_case 0.8.0",
"graphene-core",
"graphene-core-shaders",
"indoc",
"proc-macro-crate",
"proc-macro-error2",
@@ -5524,6 +5529,7 @@ version = "0.9.0"
source = "git+https://github.com/rust-gpu/rust-gpu?rev=c12f216121820580731440ee79ebc7403d6ea04f#c12f216121820580731440ee79ebc7403d6ea04f"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
"glam",
"libm",
"num-traits",