52 std::shared_ptr<Nodes::Network::MeshNetwork> network,
53 float over_allocate_factor = 1.5F);
87 void bind_diffuse_texture(
88 std::shared_ptr<Core::VKImage>
image,
89 std::string_view binding_name =
"diffuseTex");
93 return m_diffuse_texture !=
nullptr;
98 return m_diffuse_texture;
105 [[nodiscard]] std::shared_ptr<Nodes::Network::MeshNetwork>
get_network()
const
117 return m_render_processor;
126 std::string m_diffuse_binding {
"diffuseTex" };
130 static size_t estimate_vertex_bytes(
131 const std::shared_ptr<Nodes::Network::MeshNetwork>& network,
132 float over_allocate_factor);
std::shared_ptr< Core::VKImage > m_diffuse_texture
std::shared_ptr< RenderProcessor > m_render_processor
std::shared_ptr< MeshNetworkProcessor > m_processor
std::shared_ptr< Nodes::Network::MeshNetwork > m_network
~MeshNetworkBuffer() override=default
std::shared_ptr< RenderProcessor > get_render_processor() const override
Get a RenderProcessor suitable for rendering this buffer.
bool has_diffuse_texture() const noexcept
std::shared_ptr< Core::VKImage > get_diffuse_texture() const noexcept
std::shared_ptr< Nodes::Network::MeshNetwork > get_network() const
RenderConfig m_render_config
std::shared_ptr< MeshNetworkProcessor > get_mesh_processor() const
VKBuffer that renders a MeshNetwork as a single indexed draw call.
Vulkan-backed buffer wrapper used in processing chains.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.
Unified rendering configuration for graphics buffers.