MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
WallProcessor.cpp
Go to the documentation of this file.
1#include "WallProcessor.hpp"
2
3namespace MayaFlux::Buffers {
4
5std::vector<VolumeFieldProcessor::FieldBinding> WallProcessor::make_bindings(
6 const std::string& velocity_field)
7{
8 return {
9 { .name = "velocity_in", .binding = 0, .field = velocity_field, .access = FieldAccess::READ },
10 { .name = "velocity_out", .binding = 1, .field = velocity_field, .access = FieldAccess::WRITE },
11 };
12}
13
14WallProcessor::WallProcessor(std::string velocity_field, const std::string& shader_path)
15 : VolumeFieldProcessor(make_bindings(velocity_field), shader_path)
16 , m_velocity_field(std::move(velocity_field))
17{
19}
20
21WallProcessor::WallProcessor(std::string velocity_field, const Portal::Graphics::ShaderSpec& spec)
22 : VolumeFieldProcessor(make_bindings(velocity_field), spec)
23 , m_velocity_field(std::move(velocity_field))
24{
26}
27
28} // namespace MayaFlux::Buffers
@ READ
Resolves to VolumeGridBuffer::read_handle.
@ WRITE
Resolves to VolumeGridBuffer::write_handle.
void add_swap_field(std::string field)
Register a field to swap after each dispatch.
ComputeProcessor operating on named fields of a VolumeGridBuffer.
static std::vector< FieldBinding > make_bindings(const std::string &velocity_field)
Build the binding table for the field name.
WallProcessor(std::string velocity_field, const std::string &shader_path)
Construct a free-slip wall stage.
Complete declarative description of a generated compute shader.