feat: establish formal raster particle source chain
This commit is contained in:
@@ -1,38 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <mbgl/renderer/render_layer.hpp>
|
||||
#include <mbgl/style/layers/particle_validation_layer_impl.hpp>
|
||||
#include <mbgl/renderer/layers/render_raster_particle_layer.hpp>
|
||||
|
||||
namespace mbgl {
|
||||
|
||||
class ParticleGpuValidationResources;
|
||||
|
||||
// VALIDATION ONLY: proves Core RenderLayer/GPU ping-pong integration.
|
||||
// STATIC redraws only the frozen Trail composite; it never advances State/Trail slots.
|
||||
class RenderParticleValidationLayer final : public RenderLayer {
|
||||
public:
|
||||
explicit RenderParticleValidationLayer(Immutable<style::ParticleValidationLayer::Impl>);
|
||||
~RenderParticleValidationLayer() override;
|
||||
|
||||
void update(gfx::ShaderRegistry&,
|
||||
gfx::Context&,
|
||||
const TransformState&,
|
||||
const std::shared_ptr<UpdateParameters>&,
|
||||
const RenderTree&,
|
||||
UniqueChangeRequestVec&) override;
|
||||
|
||||
private:
|
||||
void transition(const TransitionParameters&) override {}
|
||||
void evaluate(const PropertyEvaluationParameters&) override;
|
||||
bool hasTransition() const override { return false; }
|
||||
bool hasCrossfade() const override { return false; }
|
||||
bool needsRepaint() const override;
|
||||
void prepare(const LayerPrepareParameters&) override {}
|
||||
void markLayerRenderable(bool, UniqueChangeRequestVec&) override;
|
||||
void layerRemoved(UniqueChangeRequestVec&) override;
|
||||
void markContextDestroyed() override;
|
||||
|
||||
std::shared_ptr<ParticleGpuValidationResources> gpuValidation;
|
||||
};
|
||||
// Validation styles reuse the formal GPU renderer and do not own another
|
||||
// particle simulation.
|
||||
using RenderParticleValidationLayer = RenderRasterParticleLayer;
|
||||
|
||||
} // namespace mbgl
|
||||
|
||||
Reference in New Issue
Block a user