Toast Engine
Loading...
Searching...
No Matches
renderer::VulkanMesh Class Reference
Inheritance diagram for renderer::VulkanMesh:
Collaboration diagram for renderer::VulkanMesh:

Classes

struct  UploadData

Public Member Functions

void create (const renderer::VulkanCore &core, UploadData data, uint32_t graphics_queue_family_index, uint32_t transfer_queue_family_index, std::string_view debug_name={})
void destroy ()
void bind (vk::CommandBuffer cmd) const
void bindPosed (vk::CommandBuffer cmd, vk::Buffer posed_vertices, uint32_t posed_vertex_offset) const
auto getVertexCount () const noexcept -> uint32_t
auto getVertexBuffer () const -> vk::Buffer
auto getSkinVertexBuffer () const -> vk::Buffer
auto getIndexBuffer () const -> vk::Buffer
auto getIndexCount () const noexcept -> uint32_t
void draw (vk::CommandBuffer cmd, uint32_t instance_count=1) const
auto isSkinned () const noexcept -> bool
void recordUpload (vk::CommandBuffer cmd, vk::Buffer staging_buffer, vk::DeviceSize vertex_offset, vk::DeviceSize index_offset, vk::DeviceSize skin_vertex_offset) const
auto createAccelerationStructure (const VulkanCore &core) -> std::optional< vma::raii::Buffer >
void recordBuildAccelerationStructure (vk::CommandBuffer cmd) const
auto hasAccelerationStructure () const noexcept -> bool
auto getAccelerationStructureAddress () const noexcept -> vk::DeviceAddress
Public Member Functions inherited from renderer::IVulkanResource
void markUploading ()
void markReady ()
void markFailed (UploadState reason)
auto isReady () const -> bool
auto hasFailed () const -> bool
auto state () const -> UploadState

Friends

class MeshUpload

Additional Inherited Members

Public Types inherited from renderer::IVulkanResource
enum class  UploadState : std::uint8_t { uploading , ready , failed_load , failed_gpu }

The documentation for this class was generated from the following files:
  • engine/src/toast/renderer/vulkan_mesh.hpp
  • engine/src/toast/renderer/vulkan_mesh.cpp