161 { FieldBinding { .name = "vertices", .binding = 0, .field = {} },
162 FieldBinding { .name = "cell_start", .binding = 1, .field = "hash_cell_start" },
163 FieldBinding { .name = "cell_count", .binding = 2, .field = "hash_cell_count" },
164 FieldBinding { .name = "particle_index", .binding = 3, .field = "hash_particle_index" },
165 FieldBinding { .name = "alive", .binding = 4, .field = "mutation_alive" },
166 FieldBinding { .name = "cluster_id", .binding = 5, .field = "hash_cluster_id" },
167 FieldBinding { .name = "spawn_cursor", .binding = 6, .field = "mutation_spawn_cursor" } },
168 build_population_spawn_spec())
171 .spawn_density_threshold = particle_op->get_field_config().spawn_density_threshold,
172 }
175{
176}
NetworkStateFieldProcessor(std::vector< FieldBinding > bindings, const Portal::Graphics::ShaderSpec &spec)
Construct from a generated ShaderSpec.
std::shared_ptr< Nodes::Network::GpuFieldOperator > m_particle_op
uint64_t m_built_revision
GridPushConstants make_grid_push_constants(const SpatialHashConfig &c)
Populate a GridPushConstants from grid config.