shader-rt: initial

This commit is contained in:
firestar99
2025-09-05 00:16:04 +02:00
parent 7dc86b36ca
commit 6a0c07ab3e
10 changed files with 260 additions and 7 deletions
@@ -19,7 +19,7 @@ pub fn modify_cfg(attributes: &NodeFnAttributes) -> TokenStream {
}
}
#[derive(Debug, VariantNames)]
#[derive(Debug, Clone, VariantNames)]
pub(crate) enum ShaderNodeType {
PerPixelAdjust(PerPixelAdjust),
}
@@ -36,6 +36,7 @@ impl Parse for ShaderNodeType {
pub trait CodegenShaderEntryPoint {
fn codegen_shader_entry_point(&self, parsed: &ParsedNodeFn) -> syn::Result<TokenStream>;
fn codegen_gpu_node(&self, parsed: &ParsedNodeFn) -> syn::Result<TokenStream>;
}
impl CodegenShaderEntryPoint for ShaderNodeType {
@@ -48,4 +49,10 @@ impl CodegenShaderEntryPoint for ShaderNodeType {
ShaderNodeType::PerPixelAdjust(x) => x.codegen_shader_entry_point(parsed),
}
}
fn codegen_gpu_node(&self, parsed: &ParsedNodeFn) -> syn::Result<TokenStream> {
match self {
ShaderNodeType::PerPixelAdjust(x) => x.codegen_gpu_node(parsed),
}
}
}