Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
Raven::VulkanMesh Class Reference

Vulkan-specific implementation of a Mesh. More...

#include <VulkanMesh.h>

Inherits Raven::Mesh.

Public Member Functions

ILLUMINE_API VulkanMesh (const std::string &path)
 Constructs a VulkanMesh by loading a model from the given file path.
ILLUMINE_API void Release () override
 Destructor that cleans up submesh resources.
Ref< VertexBufferGetVertexBuffer () const override
Ref< IndexBufferGetIndexBuffer () const override
std::vector< SubMeshGetSubmeshes () override
std::vector< MaterialHandleGetMaterialHandles () const override
void SetMaterialHandle (usize slot, const MaterialHandle &handle) override
std::string GetPath () const override
 Gets the original file path of the loaded model.
Public Member Functions inherited from Raven::Mesh
virtual ~Mesh ()=default
Public Member Functions inherited from Raven::RefCounted
 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Additional Inherited Members

Static Public Member Functions inherited from Raven::Mesh
static Ref< MeshCreate (const std::string &path)
 Factory method to create a Mesh from a given file path.
Static Public Attributes inherited from Raven::Mesh
static constexpr AssetType ASSET_TYPE = AssetType::Mesh

Detailed Description

Vulkan-specific implementation of a Mesh.

Loads a mesh from a file using Assimp, processes the scene graph, and manages submeshes with their associated vertex/index buffers and textures.

Constructor & Destructor Documentation

◆ VulkanMesh()

Raven::VulkanMesh::VulkanMesh ( const std::string & path)

Constructs a VulkanMesh by loading a model from the given file path.

Parameters
pathFilesystem path to the model to load.

Member Function Documentation

◆ GetIndexBuffer()

Ref< IndexBuffer > Raven::VulkanMesh::GetIndexBuffer ( ) const
inlineoverridevirtual

Implements Raven::Mesh.

◆ GetMaterialHandles()

std::vector< MaterialHandle > Raven::VulkanMesh::GetMaterialHandles ( ) const
inlineoverridevirtual

Implements Raven::Mesh.

◆ GetPath()

std::string Raven::VulkanMesh::GetPath ( ) const
inlineoverridevirtual

Gets the original file path of the loaded model.

Returns
The model file path as a string.

Implements Raven::Mesh.

◆ GetSubmeshes()

std::vector< SubMesh > Raven::VulkanMesh::GetSubmeshes ( )
inlineoverridevirtual

Implements Raven::Mesh.

◆ GetVertexBuffer()

Ref< VertexBuffer > Raven::VulkanMesh::GetVertexBuffer ( ) const
inlineoverridevirtual

Implements Raven::Mesh.

◆ Release()

void Raven::VulkanMesh::Release ( )
overridevirtual

Destructor that cleans up submesh resources.

Implements Raven::Mesh.

◆ SetMaterialHandle()

void Raven::VulkanMesh::SetMaterialHandle ( usize slot,
const MaterialHandle & handle )
inlineoverridevirtual

Implements Raven::Mesh.


The documentation for this class was generated from the following files: