#pragma once #include #include #include #include #include #include namespace mbgl { namespace uniforms { MBGL_DEFINE_UNIFORM_SCALAR(float, fade_t); MBGL_DEFINE_UNIFORM_SCALAR(float, buffer_scale); MBGL_DEFINE_UNIFORM_SCALAR(float, brightness_low); MBGL_DEFINE_UNIFORM_SCALAR(float, brightness_high); MBGL_DEFINE_UNIFORM_SCALAR(float, saturation_factor); MBGL_DEFINE_UNIFORM_SCALAR(float, contrast_factor); MBGL_DEFINE_UNIFORM_SCALAR(float, scale_parent); MBGL_DEFINE_UNIFORM_VECTOR(float, 3, spin_weights); MBGL_DEFINE_UNIFORM_VECTOR(float, 2, tl_parent); } // namespace uniforms class RasterProgram final : public Program, TypeList, TypeList, style::RasterPaintProperties> { public: static constexpr std::string_view Name{"RasterProgram"}; const std::string_view typeName() const noexcept override { return Name; } using Program::Program; static LayoutVertex layoutVertex(Point p, Point t) { return LayoutVertex{{{p.x, p.y}}, {{t.x, t.y}}}; } }; using RasterLayoutVertex = RasterProgram::LayoutVertex; using RasterAttributes = RasterProgram::AttributeList; } // namespace mbgl