Files
MapLibreParticleLab/include/mbgl/particle/field/field_projection_materialization.hpp
tei 70f112ea27
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
fix: close STEP-085 V4 renderer efficiency
2026-09-19 22:16:36 +09:00

31 lines
1.0 KiB
C++

#pragma once
#include <mbgl/particle/field/field_binding.hpp>
#include <mbgl/particle/field/field_data_adapter.hpp>
#include <optional>
#include <memory>
namespace mbgl::particle {
// Renderer-neutral canonical snapshots. QBIN stays confined to ingress and
// field Core; renderers receive only the existing canonical field shape.
struct MaterializedColorProjection {
std::shared_ptr<const ParticleFieldSnapshot> t0;
std::shared_ptr<const ParticleFieldSnapshot> t1;
ColorProjectionContentIdentity contentIdentity;
FieldSampleState sampleState;
};
struct MaterializedParticleProjection {
std::shared_ptr<const ParticleFieldSnapshot> t0;
std::shared_ptr<const ParticleFieldSnapshot> t1;
ParticleProjectionContentIdentity contentIdentity;
FieldSampleState sampleState;
};
std::optional<MaterializedColorProjection> materializeColorProjection(const ColorProjection&);
std::optional<MaterializedParticleProjection> materializeParticleProjection(const ParticleProjection&);
} // namespace mbgl::particle