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

Interface representing a 3D mesh resource. More...

#include <Mesh.h>

Inherits Raven::RefCounted.

Inherited by Raven::VulkanMesh.

Public Member Functions

virtual ~Mesh ()=default
virtual std::string GetPath () const =0
 Returns the file path from which the mesh was loaded.
virtual void Release ()=0
virtual Ref< VertexBufferGetVertexBuffer () const =0
virtual Ref< IndexBufferGetIndexBuffer () const =0
virtual std::vector< SubMeshGetSubmeshes ()=0
virtual std::vector< MaterialHandleGetMaterialHandles () const =0
virtual void SetMaterialHandle (usize slot, const MaterialHandle &handle)=0
Public Member Functions inherited from Raven::RefCounted
 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Static Public Member Functions

static Ref< MeshCreate (const std::string &path)
 Factory method to create a Mesh from a given file path.

Static Public Attributes

static constexpr AssetType ASSET_TYPE = AssetType::Mesh

Detailed Description

Interface representing a 3D mesh resource.

Provides access to the mesh source path. Concrete implementations handle actual mesh loading and GPU resource management.

Constructor & Destructor Documentation

◆ ~Mesh()

virtual Raven::Mesh::~Mesh ( )
virtualdefault

Member Function Documentation

◆ Create()

Ref< Mesh > Raven::Mesh::Create ( const std::string & path)
static

Factory method to create a Mesh from a given file path.

Parameters
pathThe filesystem path to the mesh resource.
Returns
Reference-counted Mesh instance.

◆ GetIndexBuffer()

virtual Ref< IndexBuffer > Raven::Mesh::GetIndexBuffer ( ) const
pure virtual

Implemented in Raven::VulkanMesh.

◆ GetMaterialHandles()

virtual std::vector< MaterialHandle > Raven::Mesh::GetMaterialHandles ( ) const
pure virtual

Implemented in Raven::VulkanMesh.

◆ GetPath()

virtual std::string Raven::Mesh::GetPath ( ) const
pure virtual

Returns the file path from which the mesh was loaded.

Returns
File path as a std::string.

Implemented in Raven::VulkanMesh.

◆ GetSubmeshes()

virtual std::vector< SubMesh > Raven::Mesh::GetSubmeshes ( )
pure virtual

Implemented in Raven::VulkanMesh.

◆ GetVertexBuffer()

virtual Ref< VertexBuffer > Raven::Mesh::GetVertexBuffer ( ) const
pure virtual

Implemented in Raven::VulkanMesh.

◆ Release()

virtual void Raven::Mesh::Release ( )
pure virtual

Implemented in Raven::VulkanMesh.

◆ SetMaterialHandle()

virtual void Raven::Mesh::SetMaterialHandle ( usize slot,
const MaterialHandle & handle )
pure virtual

Implemented in Raven::VulkanMesh.

Member Data Documentation

◆ ASSET_TYPE

AssetType Raven::Mesh::ASSET_TYPE = AssetType::Mesh
inlinestaticconstexpr

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