pub trait BufferForDraw<T>: Debug + Clonewhere
T: BufferVecItem,{
// Required methods
fn get_vk_buffer(&self) -> VkBuffer;
fn len(&self) -> usize;
fn convert_to_buffer_vec(self) -> BufferVec<T>;
fn convert_to_buffer_with_type(self) -> BufferWithType<T>;
// Provided methods
fn flush(&mut self, _cmdbuf: VkCommandBuffer) -> Result<(), VulkanError> { ... }
fn discard_staging_buffer(&mut self) { ... }
fn is_empty(&self) -> bool { ... }
}Expand description
The trait for the mesh to hold buffers
Required Methods§
Sourcefn get_vk_buffer(&self) -> VkBuffer
fn get_vk_buffer(&self) -> VkBuffer
Must be able to get the VkBuffer handle
Sourcefn convert_to_buffer_vec(self) -> BufferVec<T>
fn convert_to_buffer_vec(self) -> BufferVec<T>
Convert to BufferVec<T>
Sourcefn convert_to_buffer_with_type(self) -> BufferWithType<T>
fn convert_to_buffer_with_type(self) -> BufferWithType<T>
Convert to BufferWithType<T>
Provided Methods§
Sourcefn flush(&mut self, _cmdbuf: VkCommandBuffer) -> Result<(), VulkanError>
fn flush(&mut self, _cmdbuf: VkCommandBuffer) -> Result<(), VulkanError>
Flush staging buffer data to GPU
Sourcefn discard_staging_buffer(&mut self)
fn discard_staging_buffer(&mut self)
Discard staging buffer if the buffer’s staging buffer is discardable
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.