macro_rules! create_pipeline {
{
NAME => $name: literal,
ENGINE => $engine: expr,
SHADER => $shader: expr,
BUFFER_LAYOUTS => [$($buffer:expr),*],
BIND_GROUPS => [$($bind_group:expr),*],
HAS_DEPTH => $depth: literal
} => { ... };
}Expand description
Used to create and initialize a pipeline shader.
Example:
create_pipeline! {
NAME => "forte.gltf",
ENGINE => engine,
SHADER => gltf_shader::SOURCE,
BUFFER_LAYOUTS => [Vertex::desc(), TransformRaw::desc()],
BIND_GROUPS => [Camera::BIND_LAYOUT, Texture::BIND_LAYOUT, LightUniform::BIND_LAYOUT],
HAS_DEPTH => true
}