Initialize the buffer and its processors.
38{
39 auto self = std::dynamic_pointer_cast<GeometryBuffer>(shared_from_this());
40
46 self);
47
49
51 if (!chain) {
52 chain = std::make_shared<BufferProcessingChain>();
54 }
55 chain->set_preferred_token(token);
56
60}
std::vector< std::pair< std::shared_ptr< Core::VKImage >, std::string > > m_pending_textures
std::shared_ptr< Nodes::GpuSync::GeometryWriterNode > m_geometry_node
std::string m_binding_name
void set_texture(std::shared_ptr< Core::VKImage > image, std::string binding="diffuseTex")
Supply a diffuse texture, bound on the next graphics tick.
std::shared_ptr< GeometryBindingsProcessor > m_bindings_processor
std::shared_ptr< Buffers::BufferProcessingChain > get_processing_chain() override
Access the buffer's processing chain.
void set_default_processor(const std::shared_ptr< BufferProcessor > &processor) override
Set the buffer's default processor.
void set_processing_chain(const std::shared_ptr< BufferProcessingChain > &chain, bool force=false) override
Replace the buffer's processing chain.
Tendency< A, C > chain(const Tendency< A, B > &first, const Tendency< B, C > &second)
Sequential composition: evaluate first, feed result into second.