Skip to content

Class atlas::vk::mesh

ClassList > atlas > vk > mesh

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 Functions

Type Name
void add_texture (const std::filesystem::path & p_path)
Loading single texture with specified std::filesystem::path.
void destroy ()
void draw (const VkCommandBuffer & p_command_buffer)
void initialize_uniforms (uint32_t p_size_bytes_ubo)
bool loaded () const
vk_uniform_buffer material_ubo () const
mesh () = default
mesh (const std::span< vertex_input > & p_vertices, const std::span< uint32_t > & p_indices)
mesh (const std::filesystem::path & p_filename)
std::span< texture > read_textures ()
void reload_mesh (const std::filesystem::path & p_path)
Reload mesh vertices and indices when requested.
void update_uniform (const material_uniform & p_material_ubo)

Detailed Description

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

Public Functions Documentation

function add_texture

Loading single texture with specified std::filesystem::path.

void atlas::vk::mesh::add_texture (
    const std::filesystem::path & p_path
) 


function destroy

void atlas::vk::mesh::destroy () 

function draw

void atlas::vk::mesh::draw (
    const VkCommandBuffer & p_command_buffer
) 

function initialize_uniforms

void atlas::vk::mesh::initialize_uniforms (
    uint32_t p_size_bytes_ubo
) 

function loaded

inline bool atlas::vk::mesh::loaded () const

Returns:

true if mesh geometry model loaded succesfully


function material_ubo

inline vk_uniform_buffer atlas::vk::mesh::material_ubo () const

function mesh [1/3]

atlas::vk::mesh::mesh () = default

function mesh [2/3]

atlas::vk::mesh::mesh (
    const std::span< vertex_input > & p_vertices,
    const std::span< uint32_t > & p_indices
) 

function mesh [3/3]

atlas::vk::mesh::mesh (
    const std::filesystem::path & p_filename
) 

function read_textures

inline std::span< texture > atlas::vk::mesh::read_textures () 

function reload_mesh

Reload mesh vertices and indices when requested.

void atlas::vk::mesh::reload_mesh (
    const std::filesystem::path & p_path
) 


function update_uniform

void atlas::vk::mesh::update_uniform (
    const material_uniform & p_material_ubo
) 


The documentation for this class was generated from the following file TheAtlasEngine/atlas/drivers/vulkan-cpp/mesh.hpp