2个版本
0.1.1 | 2020年5月28日 |
---|---|
0.1.0 | 2020年5月22日 |
1514 在 Rust模式
22KB
425 行
wgpu_bind_dsl
一个用于与wgpu-rs库一起工作的宏。允许使用声明性绑定描述符!
以前您必须这样描述(深呼吸)wgpu::BindLayoutDescriptor
&wgpu::BindGroupLayoutDescriptor {
bindings: &[
wgpu::BindGroupLayoutEntry {
binding: 0, // global
visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT,
ty: wgpu::BindingType::UniformBuffer { dynamic: false },
},
wgpu::BindGroupLayoutEntry {
binding: 1, // lights
visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT,
ty: wgpu::BindingType::UniformBuffer { dynamic: false },
},
wgpu::BindGroupLayoutEntry {
binding: 2,
visibility: wgpu::ShaderStage::FRAGMENT,
ty: wgpu::BindingType::SampledTexture {
multisampled: false,
component_type: wgpu::TextureComponentType::Float,
dimension: wgpu::TextureViewDimension::D2Array,
},
},
wgpu::BindGroupLayoutEntry {
binding: 3,
visibility: wgpu::ShaderStage::FRAGMENT,
ty: wgpu::BindingType::Sampler { comparison: true },
},
],
label: None,
}
但现在您可以简单地写出
binding_layout! {
{ Vertex | Fragment } => {
0 => Buffer,
1 => Buffer,
},
Fragment => {
2 => Tex2DArray<Float>,
3 => Sampler: Cmp,
},
};