Class 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