pub struct Node { /* private fields */ }Implementations§
Source§impl Node
impl Node
Sourcepub fn struct(name: &str, fields: Vec<NodeReference>) -> Node
pub fn struct(name: &str, fields: Vec<NodeReference>) -> Node
Creates a named struct definition from its fields.
pub fn member(name: &str, type: NodeReference) -> Node
pub fn array(name: &str, type: NodeReference, size: usize) -> NodeReference
pub fn function( name: &str, params: Vec<NodeReference>, return_type: NodeReference, statements: Vec<NodeReference>, ) -> Node
pub fn conditional( condition: NodeReference, statements: Vec<NodeReference>, ) -> Node
pub fn for_loop( initializer: NodeReference, condition: NodeReference, update: NodeReference, statements: Vec<NodeReference>, ) -> Node
pub fn expression(expression: Expressions) -> Node
pub fn glsl( code: String, inputs: Vec<NodeReference>, outputs: Vec<NodeReference>, ) -> Node
pub fn hlsl( code: String, inputs: Vec<NodeReference>, outputs: Vec<NodeReference>, ) -> Node
pub fn msl( code: String, inputs: Vec<NodeReference>, outputs: Vec<NodeReference>, ) -> Node
Sourcepub fn raw(
glsl: Option<String>,
hlsl: Option<String>,
msl: Option<String>,
inputs: Vec<NodeReference>,
outputs: Vec<NodeReference>,
) -> Node
pub fn raw( glsl: Option<String>, hlsl: Option<String>, msl: Option<String>, inputs: Vec<NodeReference>, outputs: Vec<NodeReference>, ) -> Node
Builds linked raw code with explicit backend sources and interface nodes.
pub fn macro(name: &str, body: NodeReference) -> Node
pub fn binding( name: &str, type: BindingTypes, slot: u32, read: bool, write: bool, ) -> Node
pub fn binding_array( name: &str, type: BindingTypes, slot: u32, read: bool, write: bool, count: usize, ) -> Node
pub fn push_constant(members: Vec<NodeReference>) -> Node
pub fn intrinsic( name: &str, elements: Vec<NodeReference>, return: NodeReference, ) -> Node
pub fn specialization(name: &str, type: NodeReference) -> Node
pub fn constant(name: &str, type: NodeReference, value: NodeReference) -> Node
pub fn input(name: &str, format: NodeReference, location: u8) -> Node
pub fn output(name: &str, format: NodeReference, location: u8) -> Node
pub fn output_array( name: &str, format: NodeReference, location: u8, count: u32, ) -> Node
pub fn task_payload(name: &str, format: NodeReference, count: u32) -> Node
pub fn workgroup(name: &str, format: NodeReference) -> Node
pub fn new(node: Nodes) -> Node
pub fn add_child(&mut self, child: NodeReference) -> NodeReference
pub fn add_children( &mut self, children: Vec<NodeReference>, ) -> Vec<NodeReference>
pub fn node(&self) -> &Nodes
pub fn get_name(&self) -> Option<&str>
pub fn get_children(&self) -> Option<Vec<NodeReference>>
pub fn get_child(&self, child_name: &str) -> Option<NodeReference>
pub fn node_mut(&mut self) -> &mut Nodes
pub fn null() -> Node
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Node
impl !Send for Node
impl !Sync for Node
impl !UnwindSafe for Node
impl Freeze for Node
impl Unpin for Node
impl UnsafeUnpin for Node
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more