TheAtlasEngine
 
Loading...
Searching...
No Matches
atlas::vk::mesh Class Reference

mesh class specifically defined with vulkan implementations for specific primitives TODO: Whenever we load in a texture that will be laucnhed asyncronously More...

#include <mesh.hpp>

Public Member Functions

 mesh (std::span<::vk::vertex_input > p_vertices, std::span< uint32_t > p_indices)
 
 mesh (const std::filesystem::path &p_filename, bool p_flip=false)
 
void reload_mesh (const std::filesystem::path &p_path)
 Reload mesh vertices and indices when requested.
 
void draw (const VkCommandBuffer &p_command_buffer)
 
void destroy ()
 
void add_diffuse (const std::filesystem::path &p_path)
 Loading single texture with specified std::filesystem::path.
 
void add_specular (const std::filesystem::path &p_path)
 
::vk::sample_image diffuse () const
 
::vk::sample_image specular () const
 
bool loaded () const
 
bool diffuse_loaded () const
 
bool specular_loaded () const
 
void set_flip (bool p_flip)
 

Detailed Description

mesh class specifically defined with vulkan implementations for specific primitives TODO: Whenever we load in a texture that will be laucnhed asyncronously

mesh class will contain metadata needed by vulkan specifications Ways to communicate through vulkan by only supplying information needed to update this mesh

Represents a renderable object – supporting various material types, etc TODO - For now we have a map<name: string, material_source>, this should be expanded to a proper material system for blending various materials

Member Function Documentation

◆ loaded()

bool atlas::vk::mesh::loaded ( ) const
inline
Returns
true if mesh geometry model loaded succesfully

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