use anyhow::Result; use vulkan_rs::prelude::*; use std::sync::Arc; pub struct RaytracerDesciptorLayouts; impl RaytracerDesciptorLayouts { // Animation Layouts pub fn descriptor_layout(device: Arc) -> Result> { DescriptorSetLayout::builder() .add_layout_binding( 0, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT, 0, ) .add_layout_binding( 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT, 0, ) .build(device) } pub fn bone_descriptor_layout(device: Arc) -> Result> { DescriptorSetLayout::builder() .add_layout_binding( 0, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT, 0, ) .add_layout_binding( 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT, 0, ) .add_layout_binding( 2, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT, 0, ) .build(device) } }