diff options
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/programs/background_program.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/circle_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/clipping_mask_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/collision_box_program.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/debug_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/extrusion_texture_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/fill_extrusion_program.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/fill_program.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/programs/heatmap_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/heatmap_texture_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/hillshade_prepare_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/hillshade_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/line_program.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/programs/program.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/programs/raster_program.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/programs/symbol_program.cpp | 12 | ||||
-rw-r--r-- | src/mbgl/programs/symbol_program.hpp | 22 |
17 files changed, 48 insertions, 12 deletions
diff --git a/src/mbgl/programs/background_program.hpp b/src/mbgl/programs/background_program.hpp index 6bcdde1ef3..a8bcd9dc3c 100644 --- a/src/mbgl/programs/background_program.hpp +++ b/src/mbgl/programs/background_program.hpp @@ -45,6 +45,7 @@ using BackgroundPatternUniforms = TypeList< uniforms::u_tile_units_to_pixels>; class BackgroundProgram : public Program< + BackgroundProgram, shaders::background, gfx::PrimitiveType::Triangle, BackgroundLayoutAttributes, @@ -57,6 +58,7 @@ public: }; class BackgroundPatternProgram : public Program< + BackgroundPatternProgram, shaders::background_pattern, gfx::PrimitiveType::Triangle, BackgroundLayoutAttributes, diff --git a/src/mbgl/programs/circle_program.hpp b/src/mbgl/programs/circle_program.hpp index 96f630188c..136a6f89cf 100644 --- a/src/mbgl/programs/circle_program.hpp +++ b/src/mbgl/programs/circle_program.hpp @@ -14,6 +14,7 @@ MBGL_DEFINE_UNIFORM_SCALAR(bool, u_scale_with_map); } // namespace uniforms class CircleProgram : public Program< + CircleProgram, shaders::circle, gfx::PrimitiveType::Triangle, TypeList< diff --git a/src/mbgl/programs/clipping_mask_program.hpp b/src/mbgl/programs/clipping_mask_program.hpp index fe82ea66df..687b76fcb9 100644 --- a/src/mbgl/programs/clipping_mask_program.hpp +++ b/src/mbgl/programs/clipping_mask_program.hpp @@ -9,6 +9,7 @@ namespace mbgl { class ClippingMaskProgram : public Program< + ClippingMaskProgram, shaders::clipping_mask, gfx::PrimitiveType::Triangle, PositionOnlyLayoutAttributes, diff --git a/src/mbgl/programs/collision_box_program.hpp b/src/mbgl/programs/collision_box_program.hpp index ce536ff491..2434324299 100644 --- a/src/mbgl/programs/collision_box_program.hpp +++ b/src/mbgl/programs/collision_box_program.hpp @@ -21,6 +21,7 @@ using CollisionBoxLayoutAttributes = TypeList< using CollisionBoxDynamicAttributes = TypeList<attributes::a_placed>; class CollisionBoxProgram : public Program< + CollisionBoxProgram, shaders::collision_box, gfx::PrimitiveType::Line, TypeListConcat<CollisionBoxLayoutAttributes, CollisionBoxDynamicAttributes>, @@ -114,6 +115,7 @@ public: class CollisionCircleProgram : public Program< + CollisionCircleProgram, shaders::collision_circle, gfx::PrimitiveType::Triangle, TypeListConcat<CollisionBoxLayoutAttributes, CollisionBoxDynamicAttributes>, diff --git a/src/mbgl/programs/debug_program.hpp b/src/mbgl/programs/debug_program.hpp index e42fa565b2..f1b814d5e0 100644 --- a/src/mbgl/programs/debug_program.hpp +++ b/src/mbgl/programs/debug_program.hpp @@ -9,6 +9,7 @@ namespace mbgl { class DebugProgram : public Program< + DebugProgram, shaders::debug, gfx::PrimitiveType::Line, TypeList< diff --git a/src/mbgl/programs/extrusion_texture_program.hpp b/src/mbgl/programs/extrusion_texture_program.hpp index e2977a36cb..eb97b9e11f 100644 --- a/src/mbgl/programs/extrusion_texture_program.hpp +++ b/src/mbgl/programs/extrusion_texture_program.hpp @@ -11,6 +11,7 @@ namespace mbgl { class ExtrusionTextureProgram : public Program< + ExtrusionTextureProgram, shaders::extrusion_texture, gfx::PrimitiveType::Triangle, TypeList<attributes::a_pos>, diff --git a/src/mbgl/programs/fill_extrusion_program.hpp b/src/mbgl/programs/fill_extrusion_program.hpp index 28ce2ec691..23a38e2469 100644 --- a/src/mbgl/programs/fill_extrusion_program.hpp +++ b/src/mbgl/programs/fill_extrusion_program.hpp @@ -53,6 +53,7 @@ using FillExtrusionPatternUniforms = TypeList< uniforms::u_lightintensity>; class FillExtrusionProgram : public Program< + FillExtrusionProgram, shaders::fill_extrusion, gfx::PrimitiveType::Triangle, FillExtrusionLayoutAttributes, @@ -88,6 +89,7 @@ public: }; class FillExtrusionPatternProgram : public Program< + FillExtrusionPatternProgram, shaders::fill_extrusion_pattern, gfx::PrimitiveType::Triangle, FillExtrusionLayoutAttributes, diff --git a/src/mbgl/programs/fill_program.hpp b/src/mbgl/programs/fill_program.hpp index e469e416ef..5778dfe2d9 100644 --- a/src/mbgl/programs/fill_program.hpp +++ b/src/mbgl/programs/fill_program.hpp @@ -38,6 +38,7 @@ using FillPatternUniforms = TypeList< uniforms::u_pixel_coord_lower>; class FillProgram : public Program< + FillProgram, shaders::fill, gfx::PrimitiveType::Triangle, FillLayoutAttributes, @@ -59,6 +60,7 @@ public: }; class FillPatternProgram : public Program< + FillPatternProgram, shaders::fill_pattern, gfx::PrimitiveType::Triangle, FillLayoutAttributes, @@ -80,6 +82,7 @@ public: }; class FillOutlineProgram : public Program< + FillOutlineProgram, shaders::fill_outline, gfx::PrimitiveType::Line, FillLayoutAttributes, @@ -92,6 +95,7 @@ public: }; class FillOutlinePatternProgram : public Program< + FillOutlinePatternProgram, shaders::fill_outline_pattern, gfx::PrimitiveType::Line, FillLayoutAttributes, diff --git a/src/mbgl/programs/heatmap_program.hpp b/src/mbgl/programs/heatmap_program.hpp index 6c83862e28..9e8b9c5357 100644 --- a/src/mbgl/programs/heatmap_program.hpp +++ b/src/mbgl/programs/heatmap_program.hpp @@ -15,6 +15,7 @@ MBGL_DEFINE_UNIFORM_SCALAR(float, u_intensity); } // namespace uniforms class HeatmapProgram : public Program< + HeatmapProgram, shaders::heatmap, gfx::PrimitiveType::Triangle, TypeList< diff --git a/src/mbgl/programs/heatmap_texture_program.hpp b/src/mbgl/programs/heatmap_texture_program.hpp index 46f9fc1b89..d718d6961a 100644 --- a/src/mbgl/programs/heatmap_texture_program.hpp +++ b/src/mbgl/programs/heatmap_texture_program.hpp @@ -11,6 +11,7 @@ namespace mbgl { class HeatmapTextureProgram : public Program< + HeatmapTextureProgram, shaders::heatmap_texture, gfx::PrimitiveType::Triangle, TypeList<attributes::a_pos>, diff --git a/src/mbgl/programs/hillshade_prepare_program.hpp b/src/mbgl/programs/hillshade_prepare_program.hpp index fb2b8daebb..9560a4acb0 100644 --- a/src/mbgl/programs/hillshade_prepare_program.hpp +++ b/src/mbgl/programs/hillshade_prepare_program.hpp @@ -15,6 +15,7 @@ MBGL_DEFINE_UNIFORM_SCALAR(float, u_maxzoom); } // namespace uniforms class HillshadePrepareProgram : public Program< + HillshadePrepareProgram, shaders::hillshade_prepare, gfx::PrimitiveType::Triangle, TypeList< diff --git a/src/mbgl/programs/hillshade_program.hpp b/src/mbgl/programs/hillshade_program.hpp index 8def03505b..a82220ed51 100644 --- a/src/mbgl/programs/hillshade_program.hpp +++ b/src/mbgl/programs/hillshade_program.hpp @@ -20,6 +20,7 @@ MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_latrange); } // namespace uniforms class HillshadeProgram : public Program< + HillshadeProgram, shaders::hillshade, gfx::PrimitiveType::Triangle, TypeList< diff --git a/src/mbgl/programs/line_program.hpp b/src/mbgl/programs/line_program.hpp index f98eb0b0d3..a325e9f5fd 100644 --- a/src/mbgl/programs/line_program.hpp +++ b/src/mbgl/programs/line_program.hpp @@ -35,6 +35,7 @@ using LineLayoutAttributes = TypeList< attributes::a_data<uint8_t, 4>>; class LineProgram : public Program< + LineProgram, shaders::line, gfx::PrimitiveType::Triangle, LineLayoutAttributes, @@ -101,6 +102,7 @@ public: }; class LinePatternProgram : public Program< + LinePatternProgram, shaders::line_pattern, gfx::PrimitiveType::Triangle, LineLayoutAttributes, @@ -129,6 +131,7 @@ public: }; class LineSDFProgram : public Program< + LineSDFProgram, shaders::line_sdf, gfx::PrimitiveType::Triangle, LineLayoutAttributes, @@ -162,6 +165,7 @@ public: }; class LineGradientProgram : public Program< + LineGradientProgram, shaders::line_gradient, gfx::PrimitiveType::Triangle, LineLayoutAttributes, diff --git a/src/mbgl/programs/program.hpp b/src/mbgl/programs/program.hpp index 917947c95c..351bf5bbb1 100644 --- a/src/mbgl/programs/program.hpp +++ b/src/mbgl/programs/program.hpp @@ -15,7 +15,8 @@ namespace mbgl { -template <class Shaders, +template <class Name, + class Shaders, gfx::PrimitiveType Primitive, class LayoutAttributeList, class LayoutUniformList, diff --git a/src/mbgl/programs/raster_program.hpp b/src/mbgl/programs/raster_program.hpp index 48115de6fe..da3676b542 100644 --- a/src/mbgl/programs/raster_program.hpp +++ b/src/mbgl/programs/raster_program.hpp @@ -23,6 +23,7 @@ MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_tl_parent); } // namespace uniforms class RasterProgram : public Program< + RasterProgram, shaders::raster, gfx::PrimitiveType::Triangle, TypeList< diff --git a/src/mbgl/programs/symbol_program.cpp b/src/mbgl/programs/symbol_program.cpp index ca003103fd..3baac795ab 100644 --- a/src/mbgl/programs/symbol_program.cpp +++ b/src/mbgl/programs/symbol_program.cpp @@ -120,9 +120,9 @@ SymbolIconProgram::layoutUniformValues(const bool isText, ); } -template <class PaintProperties> -typename SymbolSDFProgram<PaintProperties>::LayoutUniformValues -SymbolSDFProgram<PaintProperties>::layoutUniformValues(const bool isText, +template <class Name, class PaintProperties> +typename SymbolSDFProgram<Name, PaintProperties>::LayoutUniformValues +SymbolSDFProgram<Name, PaintProperties>::layoutUniformValues(const bool isText, const style::SymbolPropertyValues& values, const Size& texsize, const std::array<float, 2>& pixelsToGLUnits, @@ -135,7 +135,7 @@ SymbolSDFProgram<PaintProperties>::layoutUniformValues(const bool isText, ? std::cos(state.getPitch()) * state.getCameraToCenterDistance() : 1.0); - return makeValues<SymbolSDFProgram<PaintProperties>::LayoutUniformValues>( + return makeValues<SymbolSDFProgram<Name, PaintProperties>::LayoutUniformValues>( isText, values, texsize, @@ -149,7 +149,7 @@ SymbolSDFProgram<PaintProperties>::layoutUniformValues(const bool isText, ); } -template class SymbolSDFProgram<style::IconPaintProperties>; -template class SymbolSDFProgram<style::TextPaintProperties>; +template class SymbolSDFProgram<SymbolSDFIconProgram, style::IconPaintProperties>; +template class SymbolSDFProgram<SymbolSDFTextProgram, style::TextPaintProperties>; } // namespace mbgl diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp index 3ed8325817..2a5fff53ca 100644 --- a/src/mbgl/programs/symbol_program.hpp +++ b/src/mbgl/programs/symbol_program.hpp @@ -239,7 +239,8 @@ public: } }; -template <class Shaders, +template <class Name, + class Shaders, gfx::PrimitiveType Primitive, class LayoutAttributeList, class LayoutUniformList, @@ -347,6 +348,7 @@ public: }; class SymbolIconProgram : public SymbolProgram< + SymbolIconProgram, shaders::symbol_icon, gfx::PrimitiveType::Triangle, SymbolLayoutAttributes, @@ -385,8 +387,9 @@ enum class SymbolSDFPart { Halo = 0 }; -template <class PaintProperties> +template <class Name, class PaintProperties> class SymbolSDFProgram : public SymbolProgram< + Name, shaders::symbol_sdf, gfx::PrimitiveType::Triangle, SymbolLayoutAttributes, @@ -410,7 +413,9 @@ class SymbolSDFProgram : public SymbolProgram< PaintProperties> { public: - using BaseProgram = SymbolProgram<shaders::symbol_sdf, + using BaseProgram = SymbolProgram< + Name, + shaders::symbol_sdf, gfx::PrimitiveType::Triangle, SymbolLayoutAttributes, TypeList< @@ -449,8 +454,15 @@ public: const SymbolSDFPart); }; -using SymbolSDFIconProgram = SymbolSDFProgram<style::IconPaintProperties>; -using SymbolSDFTextProgram = SymbolSDFProgram<style::TextPaintProperties>; +class SymbolSDFIconProgram : public SymbolSDFProgram<SymbolSDFIconProgram, style::IconPaintProperties> { +public: + using SymbolSDFProgram::SymbolSDFProgram; +}; + +class SymbolSDFTextProgram : public SymbolSDFProgram<SymbolSDFTextProgram, style::TextPaintProperties> { +public: + using SymbolSDFProgram::SymbolSDFProgram; +}; using SymbolLayoutVertex = gfx::Vertex<SymbolLayoutAttributes>; using SymbolIconAttributes = SymbolIconProgram::AttributeList; |