Class atlas::vk::vk_renderer
ClassList > atlas > vk > vk_renderer
Something to consider for mesh loading. More...
#include <vk_renderer.hpp>
Inherits the following classes: atlas::render_context
Public Functions
Type | Name |
---|---|
vk_renderer (const vk_swapchain & p_swapchain, const std::string & p_tag) |
|
~vk_renderer () override |
Public Functions inherited from atlas::render_context
Type | Name |
---|---|
void | begin_frame (const vk::vk_command_buffer & p_current, const vk::vk_swapchain & p_swapchain_handler) |
void | end_frame () |
void | set_background_color (const std::array< float, 4 > & p_color) |
virtual | ~render_context () = default |
Detailed Description
How will meshes get loaded?
There are a few ways for considering for the base approach, which are: TODO: These are things to think about how this may happen because I want to make this lightweight in the sense the data isnt continuously being modified. Taking a looking at minimizing the loading state of vulkan implementation-specific meshes * While also making the way how mesh components are being added the same as before
Something to avoid is the entities containing the geometry data itself but being able to reference to their respective geometry data that are getting submitted to the GPU
- Batching ID's into hash table that contains the actual geometry data
- Using ID to search up the mesh loaded and cached into the map, then reuse that geometry whenever the uniforms are changed
- This way we aren't reloading in the same mesh multiple times, treating the hash table as a slot of the mesh contained within that scene
- Potentially std::map<std::string, std::map<std::string, vk::mesh_metadata>> m_geometries
- Idea is the std::string is the geometries within this scene, the data format is: <scene_str, <mesh_str, mesh_metadata>>
Public Functions Documentation
function vk_renderer
atlas::vk::vk_renderer::vk_renderer (
const vk_swapchain & p_swapchain,
const std::string & p_tag
)
function ~vk_renderer
atlas::vk::vk_renderer::~vk_renderer () override
The documentation for this class was generated from the following file TheAtlasEngine/atlas/drivers/vulkan-cpp/vk_renderer.hpp