VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::vulkan::VulkanMesh Class Reference
+ Inheritance diagram for venom::vulkan::VulkanMesh:

Classes

struct  BoundVkBuffer
 

Public Member Functions

void Draw () override
 
vc::Error __LoadMeshFromCurrentData () override
 Loads Mesh into the Graphics API from the current data So it is expected that vertices, faces, ... are loaded in the Mesh beforehand.
 
vc::Error AddVertexBuffer (const void *data, const uint32_t vertexCount, const uint32_t vertexSize, int binding)
 
vc::Error AddIndexBuffer (const void *data, const uint32_t indexCount, const uint32_t indexSize)
 
VkBuffer GetVkIndexBuffer () const
 
const IndexBufferGetIndexBuffer () const
 
uint32_t GetBindingCount () const
 
uint32_t GetVertexCount () const
 
VkDeviceSize * GetOffsets () const
 
const std::vector< BoundVkBuffer > & GetVkVertexBuffers () const
 
- Public Member Functions inherited from venom::common::MeshImpl
void SetMaterial (const Material &material)
 
bool HasMaterial () const
 
const MaterialGetMaterial () const
 
- Public Member Functions inherited from venom::common::PluginObjectImpl
template<class T >
T * As ()
 
template<class T >
const T * As () const
 
template<class T >
T * ConstAs () const
 
template<class T >
T * RAs ()
 
template<class T >
const T * RAs () const
 
void IncRefCount ()
 
void DecRefCount ()
 
- Public Member Functions inherited from venom::common::IPluginObject
- Public Member Functions inherited from venom::common::GraphicsPluginObject
virtual void Destroy () override
 /!\ THIS FUNCTION MUST BE CALLED FOR DESTRUCTION, DO NOT USE delete
 
- Public Member Functions inherited from venom::common::PluginObject
 PluginObject (const PluginType type)
 
PluginType GetType () const override
 
template<class T >
T * DAs ()
 
template<class T >
const T * DAs () const
 

Additional Inherited Members

- Static Public Member Functions inherited from venom::common::GraphicsPluginObject
static bool HasCachedObject (const std::string &path)
 Checks if an object is in the cache.
 
static SPtr< GraphicsCachedResourceGetCachedObject (const std::string &path)
 Gets a cached object from the graphics cache.
 
static const std::unordered_map< std::string, std::shared_ptr< GraphicsCachedResource > > & GetCachedObjects ()
 Gets all cached objects.
 
- Static Protected Member Functions inherited from venom::common::GraphicsPluginObject
static void _SetInCache (const std::string &path, const SPtr< GraphicsCachedResource > &object)
 Sets an object in the cache.
 
static void _SetCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
static void _AddCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
- Protected Attributes inherited from venom::common::MeshImpl
std::vector< vcm::VertexPos_positions
 
std::vector< vcm::VertexNormal_normals
 
std::vector< vcm::VertexColor_colors [8]
 
std::vector< vcm::VertexUV_uvs [8]
 
std::vector< uint32_t > _indices
 
std::vector< vcm::VertexTangent_tangents
 
std::vector< vcm::VertexBitangent_bitangents
 
PluginObjectContainer< Material_material
 

Member Function Documentation

◆ __LoadMeshFromCurrentData()

vc::Error venom::vulkan::VulkanMesh::__LoadMeshFromCurrentData ( )
overridevirtual

Loads Mesh into the Graphics API from the current data So it is expected that vertices, faces, ... are loaded in the Mesh beforehand.

Returns
vc::Error::Failure if the loading failed, vc::Error::Success otherwise

Implements venom::common::MeshImpl.

◆ Draw()

void venom::vulkan::VulkanMesh::Draw ( )
overridevirtual

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