|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Default processor for the GPU-field marching-cubes chain. More...
#include <SDFPrepProcessor.hpp>
Inheritance diagram for MayaFlux::Buffers::SDFPrepProcessor:
Collaboration diagram for MayaFlux::Buffers::SDFPrepProcessor:Public Member Functions | |
| std::shared_ptr< VKBuffer > | counter_buf () const |
| Counter buffer zeroed here, written by mc_emit, read back by SDFMeshProcessor. | |
| std::shared_ptr< VKBuffer > | grid_buf () const |
| Grid buffer written by SDFFieldProcessor, read by SDFMeshProcessor. | |
| void | on_attach (const std::shared_ptr< Buffer > &buffer) override |
| Called when this processor is attached to a buffer. | |
| void | processing_function (const std::shared_ptr< Buffer > &buffer) override |
| The core processing function that must be implemented by derived classes. | |
| SDFPrepProcessor (uint32_t res_x, uint32_t res_y, uint32_t res_z) | |
| void | set_resolution (uint32_t res_x, uint32_t res_y, uint32_t res_z) |
| Rebuild owned buffers to match a new resolution. | |
| ~SDFPrepProcessor () override=default | |
Public Member Functions inherited from MayaFlux::Buffers::BufferProcessor | |
| virtual ProcessingToken | get_processing_token () const |
| Gets the current processing token for this buffer. | |
| virtual bool | is_compatible_with (const std::shared_ptr< Buffer > &) const |
| Checks if this processor can handle the specified buffer type. | |
| virtual void | on_detach (const std::shared_ptr< Buffer > &) |
| Called when this processor is detached from a buffer. | |
| void | process (const std::shared_ptr< Buffer > &buffer) |
| Applies a computational transformation to the data in the provided buffer. | |
| virtual void | set_processing_token (ProcessingToken token) |
| Gets the preferred processing backend for this processor. | |
| virtual | ~BufferProcessor ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
Private Member Functions | |
| uint32_t | corner_count () const noexcept |
| void | rebuild_buffers () |
Private Attributes | |
| std::shared_ptr< VKBuffer > | m_counter_buf |
| std::shared_ptr< VKBuffer > | m_grid_buf |
| uint32_t | m_res_x |
| uint32_t | m_res_y |
| uint32_t | m_res_z |
Additional Inherited Members | |
Protected Member Functions inherited from MayaFlux::Buffers::VKBufferProcessor | |
| void | ensure_initialized (const std::shared_ptr< VKBuffer > &buffer) |
| void | initialize_buffer_service () |
| void | initialize_compute_service () |
Protected Attributes inherited from MayaFlux::Buffers::VKBufferProcessor | |
| Registry::Service::BufferService * | m_buffer_service = nullptr |
| Registry::Service::ComputeService * | m_compute_service = nullptr |
Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor | |
| ProcessingToken | m_processing_token { ProcessingToken::AUDIO_BACKEND } |
Default processor for the GPU-field marching-cubes chain.
Owns the SDF corner grid buffer and the atomic vertex counter buffer. Zeros both on each frame so downstream processors start from a clean state. Performs no shader dispatch of its own.
Active chain order: default — SDFPrepProcessor (this, owns + zeros grid/counter) pre — SDFFieldProcessor (writes grid via sdf_field.comp) flat[0] — SDFMeshProcessor (mc_emit, reads grid, emits verts) final — RenderProcessor
Definition at line 24 of file SDFPrepProcessor.hpp.