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

◆ HashDensityColorProcessor()

MayaFlux::Buffers::HashDensityColorProcessor::HashDensityColorProcessor ( const SpatialHashConfig config,
std::shared_ptr< Nodes::Network::GpuFieldOperator particle_op 
)
Parameters
configGrid parameters, shared with the build stages that must already have populated hash_cell_start/hash_cell_count/ hash_particle_index this cycle.
particle_opOwning operator. Colour word offset is resolved from its vertex layout (DataModality::VERTEX_COLORS_RGB) at construction; throws std::invalid_argument when the layout carries no colour attribute. density_saturation_count is re-read from this operator's config whenever revision() changes.

Definition at line 564 of file SpatialHashProcessor.cpp.

568 { FieldBinding { .name = "vertices", .binding = 0, .field = {} },
569 FieldBinding { .name = "cell_start", .binding = 1, .field = "hash_cell_start" },
570 FieldBinding { .name = "cell_count", .binding = 2, .field = "hash_cell_count" },
571 FieldBinding { .name = "particle_index", .binding = 3, .field = "hash_particle_index" },
572 FieldBinding { .name = "cluster_id", .binding = 4, .field = "hash_cluster_id" } },
573 build_density_spec())
574 , m_params {
575 .particle_count = config.particle_count,
576 .stride_words = config.stride_words,
577 .position_offset = config.position_word_offset,
578 .color_offset = require_color_offset(particle_op),
579 .grid_min_x = config.grid_min.x,
580 .grid_min_y = config.grid_min.y,
581 .grid_min_z = config.grid_min.z,
582 .cell_size = config.cell_size,
583 .dim_x = config.grid_dims.x,
584 .dim_y = config.grid_dims.y,
585 .dim_z = config.grid_dims.z,
586 .density_saturation_count = particle_op->get_field_config().density_saturation_count,
587 .cross_cluster = particle_op->get_field_config().cross_cluster ? 1U : 0U,
588 }
589 , m_particle_op(std::move(particle_op))
590 , m_built_revision(m_particle_op->revision())
591{
592}
std::shared_ptr< Nodes::Network::GpuFieldOperator > m_particle_op
NetworkStateFieldProcessor(std::vector< FieldBinding > bindings, const Portal::Graphics::ShaderSpec &spec)
Construct from a generated ShaderSpec.

References MayaFlux::Buffers::NetworkStateFieldProcessor::FieldBinding::name.