MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ GeometryReadbackNode()

MayaFlux::Nodes::GpuSync::GeometryReadbackNode::GeometryReadbackNode ( std::shared_ptr< Buffers::VKBuffer buffer,
size_t  vertex_count = 0 
)
explicit

Construct from a GPU vertex buffer.

Parameters
bufferGPU vertex buffer to download from. Must remain valid for the lifetime of this node.
vertex_countExpected number of MeshVertex elements. Used to size the readback vector. If 0, the count is derived from buffer->get_size_bytes().

Definition at line 10 of file GeometryReadbackNode.cpp.

14 , m_gpu_buffer(std::move(buffer))
15{
16 set_vertex_stride(sizeof(Kakshya::MeshVertex));
17 set_vertex_layout(Kakshya::VertexLayout::for_meshes(sizeof(Kakshya::MeshVertex)));
18
19 if (vertex_count > 0)
20 m_vertices.resize(vertex_count);
21}
std::shared_ptr< Buffers::VKBuffer > m_gpu_buffer
GeometryWriterNode(uint32_t initial_capacity=1024)
Constructor.
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set cached vertex layout.
void set_vertex_stride(size_t stride)
Set vertex stride (bytes per vertex)
static VertexLayout for_meshes(uint32_t stride=60)
Factory: layout for MeshVertex (position, color, weight, uv, normal, tangent)

References MayaFlux::Kakshya::VertexLayout::for_meshes(), m_vertices, MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_layout(), and MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_stride().

+ Here is the call graph for this function: