diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-28 18:17:33 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-11-08 08:09:29 -0800 |
commit | 66bdbc3b969083b9d647abdf72784be64a125949 (patch) | |
tree | 9f2f1c6eb3d0569926420459c2c9afda50c66fd0 /src/mbgl/renderer | |
parent | 36210fe4e9c68a52dedc90548d90e77cf39a2228 (diff) | |
download | qtlocation-mapboxgl-66bdbc3b969083b9d647abdf72784be64a125949.tar.gz |
[core] Introduce gl::Program template
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/circle_bucket.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/circle_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/debug_bucket.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/debug_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/fill_bucket.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/fill_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/line_bucket.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/paint_parameters.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 18 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 11 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_background.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_circle.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_clipping.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_debug.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_fill.cpp | 24 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_line.cpp | 20 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_raster.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_symbol.cpp | 34 | ||||
-rw-r--r-- | src/mbgl/renderer/raster_bucket.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/symbol_bucket.hpp | 4 |
20 files changed, 90 insertions, 95 deletions
diff --git a/src/mbgl/renderer/circle_bucket.cpp b/src/mbgl/renderer/circle_bucket.cpp index 1137a3f5dc..08f2a144a1 100644 --- a/src/mbgl/renderer/circle_bucket.cpp +++ b/src/mbgl/renderer/circle_bucket.cpp @@ -2,7 +2,7 @@ #include <mbgl/renderer/painter.hpp> #include <mbgl/gl/context.hpp> -#include <mbgl/shader/circle_shader.hpp> +#include <mbgl/programs/circle_program.hpp> #include <mbgl/style/layers/circle_layer.hpp> #include <mbgl/util/constants.hpp> @@ -58,10 +58,10 @@ void CircleBucket::addGeometry(const GeometryCollection& geometryCollection) { // │ 1 2 │ // └─────────┘ // - vertices.emplace_back(CircleAttributes::vertex(point, -1, -1)); // 1 - vertices.emplace_back(CircleAttributes::vertex(point, 1, -1)); // 2 - vertices.emplace_back(CircleAttributes::vertex(point, 1, 1)); // 3 - vertices.emplace_back(CircleAttributes::vertex(point, -1, 1)); // 4 + vertices.emplace_back(CircleProgram::vertex(point, -1, -1)); // 1 + vertices.emplace_back(CircleProgram::vertex(point, 1, -1)); // 2 + vertices.emplace_back(CircleProgram::vertex(point, 1, 1)); // 3 + vertices.emplace_back(CircleProgram::vertex(point, -1, 1)); // 4 auto& segment = segments.back(); assert(segment.vertexLength <= std::numeric_limits<uint16_t>::max()); diff --git a/src/mbgl/renderer/circle_bucket.hpp b/src/mbgl/renderer/circle_bucket.hpp index b0ae47f523..d5df06f110 100644 --- a/src/mbgl/renderer/circle_bucket.hpp +++ b/src/mbgl/renderer/circle_bucket.hpp @@ -6,7 +6,7 @@ #include <mbgl/gl/vertex_buffer.hpp> #include <mbgl/gl/index_buffer.hpp> #include <mbgl/gl/segment.hpp> -#include <mbgl/shader/circle_attributes.hpp> +#include <mbgl/programs/circle_program.hpp> namespace mbgl { diff --git a/src/mbgl/renderer/debug_bucket.cpp b/src/mbgl/renderer/debug_bucket.cpp index d2d4465ab6..931d1bf30d 100644 --- a/src/mbgl/renderer/debug_bucket.cpp +++ b/src/mbgl/renderer/debug_bucket.cpp @@ -1,7 +1,6 @@ #include <mbgl/renderer/debug_bucket.hpp> #include <mbgl/renderer/painter.hpp> -#include <mbgl/shader/fill_shader.hpp> -#include <mbgl/shader/fill_attributes.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/geometry/debug_font_data.hpp> #include <mbgl/util/string.hpp> diff --git a/src/mbgl/renderer/debug_bucket.hpp b/src/mbgl/renderer/debug_bucket.hpp index beb57fa51a..9b19e7f949 100644 --- a/src/mbgl/renderer/debug_bucket.hpp +++ b/src/mbgl/renderer/debug_bucket.hpp @@ -6,7 +6,7 @@ #include <mbgl/util/optional.hpp> #include <mbgl/util/noncopyable.hpp> #include <mbgl/gl/vertex_buffer.hpp> -#include <mbgl/shader/fill_attributes.hpp> +#include <mbgl/programs/fill_program.hpp> namespace mbgl { diff --git a/src/mbgl/renderer/fill_bucket.cpp b/src/mbgl/renderer/fill_bucket.cpp index 97ba5c5f9e..2eee8f2d6d 100644 --- a/src/mbgl/renderer/fill_bucket.cpp +++ b/src/mbgl/renderer/fill_bucket.cpp @@ -1,10 +1,7 @@ #include <mbgl/renderer/fill_bucket.hpp> #include <mbgl/style/layers/fill_layer.hpp> #include <mbgl/renderer/painter.hpp> -#include <mbgl/shader/fill_shader.hpp> -#include <mbgl/shader/fill_pattern_shader.hpp> -#include <mbgl/shader/fill_outline_shader.hpp> -#include <mbgl/shader/fill_outline_pattern_shader.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/platform/log.hpp> #include <mapbox/earcut.hpp> diff --git a/src/mbgl/renderer/fill_bucket.hpp b/src/mbgl/renderer/fill_bucket.hpp index c7f07b51e7..b2c549a758 100644 --- a/src/mbgl/renderer/fill_bucket.hpp +++ b/src/mbgl/renderer/fill_bucket.hpp @@ -5,7 +5,7 @@ #include <mbgl/gl/vertex_buffer.hpp> #include <mbgl/gl/index_buffer.hpp> #include <mbgl/gl/segment.hpp> -#include <mbgl/shader/fill_attributes.hpp> +#include <mbgl/programs/fill_program.hpp> #include <vector> diff --git a/src/mbgl/renderer/line_bucket.hpp b/src/mbgl/renderer/line_bucket.hpp index 1123ddadb6..4d78a80123 100644 --- a/src/mbgl/renderer/line_bucket.hpp +++ b/src/mbgl/renderer/line_bucket.hpp @@ -5,7 +5,7 @@ #include <mbgl/gl/vertex_buffer.hpp> #include <mbgl/gl/index_buffer.hpp> #include <mbgl/gl/segment.hpp> -#include <mbgl/shader/line_attributes.hpp> +#include <mbgl/programs/line_program.hpp> #include <mbgl/style/layers/line_layer_properties.hpp> #include <vector> diff --git a/src/mbgl/renderer/paint_parameters.hpp b/src/mbgl/renderer/paint_parameters.hpp index bd67dc9cfd..213c01cfbd 100644 --- a/src/mbgl/renderer/paint_parameters.hpp +++ b/src/mbgl/renderer/paint_parameters.hpp @@ -2,12 +2,12 @@ namespace mbgl { -class Shaders; +class Programs; class View; class PaintParameters { public: - Shaders& shaders; + Programs& programs; View& view; }; diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 6777871516..d9e7f9fd35 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -21,7 +21,7 @@ #include <mbgl/geometry/line_atlas.hpp> #include <mbgl/text/glyph_atlas.hpp> -#include <mbgl/shader/shaders.hpp> +#include <mbgl/programs/programs.hpp> #include <mbgl/algorithm/generate_clip_ids.hpp> #include <mbgl/algorithm/generate_clip_ids_impl.hpp> @@ -60,18 +60,18 @@ Painter::Painter(gl::Context& context_, const TransformState& state_) FillAttributes::vertex({ 0, 0 }) }})), rasterVertexBuffer(context.createVertexBuffer(std::vector<RasterVertex> {{ - RasterAttributes::vertex({ 0, 0 }, { 0, 0 }), - RasterAttributes::vertex({ util::EXTENT, 0 }, { 32767, 0 }), - RasterAttributes::vertex({ 0, util::EXTENT }, { 0, 32767 }), - RasterAttributes::vertex({ util::EXTENT, util::EXTENT }, { 32767, 32767 }) + RasterProgram::vertex({ 0, 0 }, { 0, 0 }), + RasterProgram::vertex({ util::EXTENT, 0 }, { 32767, 0 }), + RasterProgram::vertex({ 0, util::EXTENT }, { 0, 32767 }), + RasterProgram::vertex({ util::EXTENT, util::EXTENT }, { 32767, 32767 }) }})) { #ifndef NDEBUG gl::debugging::enable(); #endif - shaders = std::make_unique<Shaders>(context); + programs = std::make_unique<Programs>(context); #ifndef NDEBUG - overdrawShaders = std::make_unique<Shaders>(context, gl::Shader::Overdraw); + overdrawPrograms = std::make_unique<Programs>(context, ProgramDefines::Overdraw); #endif } @@ -93,9 +93,9 @@ void Painter::render(const Style& style, const FrameData& frame_, View& view, Sp PaintParameters parameters { #ifndef NDEBUG - paintMode() == PaintMode::Overdraw ? *overdrawShaders : *shaders, + paintMode() == PaintMode::Overdraw ? *overdrawPrograms : *programs, #else - *shaders, + *programs, #endif view }; diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index d7154397f3..53215c5033 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -9,8 +9,8 @@ #include <mbgl/renderer/bucket.hpp> #include <mbgl/gl/context.hpp> -#include <mbgl/shader/fill_attributes.hpp> -#include <mbgl/shader/raster_attributes.hpp> +#include <mbgl/programs/fill_program.hpp> +#include <mbgl/programs/raster_program.hpp> #include <mbgl/style/style.hpp> @@ -40,8 +40,7 @@ class CircleBucket; class SymbolBucket; class RasterBucket; -class Shaders; -class SymbolSDFShader; +class Programs; class PaintParameters; struct ClipID; @@ -152,9 +151,9 @@ private: FrameHistory frameHistory; - std::unique_ptr<Shaders> shaders; + std::unique_ptr<Programs> programs; #ifndef NDEBUG - std::unique_ptr<Shaders> overdrawShaders; + std::unique_ptr<Programs> overdrawPrograms; #endif gl::VertexBuffer<FillVertex> tileTriangleVertexBuffer; diff --git a/src/mbgl/renderer/painter_background.cpp b/src/mbgl/renderer/painter_background.cpp index a8ebf0de05..3e2597e47c 100644 --- a/src/mbgl/renderer/painter_background.cpp +++ b/src/mbgl/renderer/painter_background.cpp @@ -2,8 +2,8 @@ #include <mbgl/renderer/paint_parameters.hpp> #include <mbgl/style/layers/background_layer.hpp> #include <mbgl/style/layers/background_layer_impl.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/fill_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/sprite/sprite_atlas.hpp> #include <mbgl/util/tile_cover.hpp> @@ -32,7 +32,7 @@ void Painter::renderBackground(PaintParameters& parameters, const BackgroundLaye depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), colorModeForRenderPass(), - parameters.shaders.fillPattern, + parameters.programs.fillPattern, FillPatternUniforms::values( matrixForTile(tileID), properties.backgroundOpacity.value, @@ -52,8 +52,8 @@ void Painter::renderBackground(PaintParameters& parameters, const BackgroundLaye depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), colorModeForRenderPass(), - parameters.shaders.fill, - FillColorUniforms::Values { + parameters.programs.fill, + FillProgram::UniformValues { uniforms::u_matrix::Value{ matrixForTile(tileID) }, uniforms::u_opacity::Value{ properties.backgroundOpacity.value }, uniforms::u_color::Value{ properties.backgroundColor.value }, diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp index fedd1985ba..e4977b8abb 100644 --- a/src/mbgl/renderer/painter_circle.cpp +++ b/src/mbgl/renderer/painter_circle.cpp @@ -4,8 +4,8 @@ #include <mbgl/renderer/render_tile.hpp> #include <mbgl/style/layers/circle_layer.hpp> #include <mbgl/style/layers/circle_layer_impl.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/circle_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/circle_program.hpp> #include <mbgl/gl/context.hpp> namespace mbgl { @@ -29,8 +29,8 @@ void Painter::renderCircle(PaintParameters& parameters, ? stencilModeForClipping(tile.clip) : gl::StencilMode::disabled(), colorModeForRenderPass(), - parameters.shaders.circle, - CircleUniforms::Values { + parameters.programs.circle, + CircleProgram::UniformValues { uniforms::u_matrix::Value{ tile.translatedMatrix(properties.circleTranslate.value, properties.circleTranslateAnchor.value, state) }, diff --git a/src/mbgl/renderer/painter_clipping.cpp b/src/mbgl/renderer/painter_clipping.cpp index 64558d667f..b64c5d5efc 100644 --- a/src/mbgl/renderer/painter_clipping.cpp +++ b/src/mbgl/renderer/painter_clipping.cpp @@ -1,6 +1,6 @@ #include <mbgl/renderer/painter.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/fill_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/util/clip_id.hpp> namespace mbgl { @@ -17,8 +17,8 @@ void Painter::renderClippingMask(const UnwrappedTileID& tileID, const ClipID& cl gl::StencilMode::Replace }, gl::ColorMode::disabled(), - shaders->fill, - FillColorUniforms::Values { + programs->fill, + FillProgram::UniformValues { uniforms::u_matrix::Value{ matrixForTile(tileID) }, uniforms::u_opacity::Value{ 0.0f }, uniforms::u_color::Value{ Color {} }, diff --git a/src/mbgl/renderer/painter_debug.cpp b/src/mbgl/renderer/painter_debug.cpp index 08877949f6..a0fc98b8c1 100644 --- a/src/mbgl/renderer/painter_debug.cpp +++ b/src/mbgl/renderer/painter_debug.cpp @@ -4,8 +4,8 @@ #include <mbgl/renderer/paint_parameters.hpp> #include <mbgl/map/view.hpp> #include <mbgl/tile/tile.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/fill_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/util/string.hpp> #include <mbgl/gl/debugging.hpp> #include <mbgl/util/color.hpp> @@ -23,8 +23,8 @@ void Painter::renderTileDebug(const RenderTile& renderTile) { gl::DepthMode::disabled(), stencilModeForClipping(renderTile.clip), gl::ColorMode::unblended(), - shaders->fill, - FillColorUniforms::Values { + programs->fill, + FillProgram::UniformValues { uniforms::u_matrix::Value{ renderTile.matrix }, uniforms::u_opacity::Value{ 1.0f }, uniforms::u_color::Value{ color }, diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index 5a9e7a9096..cdce181e1c 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -5,8 +5,8 @@ #include <mbgl/style/layers/fill_layer.hpp> #include <mbgl/style/layers/fill_layer_impl.hpp> #include <mbgl/sprite/sprite_atlas.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/fill_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/fill_program.hpp> #include <mbgl/util/convert.hpp> namespace mbgl { @@ -35,12 +35,12 @@ void Painter::renderFill(PaintParameters& parameters, spriteAtlas->bind(true, context, 0); - auto draw = [&] (uint8_t sublayer, auto& shader, const auto& subject) { + auto draw = [&] (uint8_t sublayer, auto& program, const auto& subject) { context.draw({ depthModeForSublayer(sublayer, gl::DepthMode::ReadWrite), stencilModeForClipping(tile.clip), colorModeForRenderPass(), - shader, + program, FillPatternUniforms::values( tile.translatedMatrix(properties.fillTranslate.value, properties.fillTranslateAnchor.value, @@ -58,7 +58,7 @@ void Painter::renderFill(PaintParameters& parameters, }; draw(0, - parameters.shaders.fillPattern, + parameters.programs.fillPattern, gl::Segmented<gl::Triangles>( *bucket.vertexBuffer, *bucket.triangleIndexBuffer, @@ -69,20 +69,20 @@ void Painter::renderFill(PaintParameters& parameters, } draw(2, - parameters.shaders.fillOutlinePattern, + parameters.programs.fillOutlinePattern, gl::Segmented<gl::Lines>( *bucket.vertexBuffer, *bucket.lineIndexBuffer, bucket.lineSegments, 2.0f)); } else { - auto draw = [&] (uint8_t sublayer, auto& shader, Color outlineColor, const auto& subject) { + auto draw = [&] (uint8_t sublayer, auto& program, Color outlineColor, const auto& subject) { context.draw({ depthModeForSublayer(sublayer, gl::DepthMode::ReadWrite), stencilModeForClipping(tile.clip), colorModeForRenderPass(), - shader, - FillColorUniforms::Values { + program, + FillProgram::UniformValues { uniforms::u_matrix::Value{ tile.translatedMatrix(properties.fillTranslate.value, properties.fillTranslateAnchor.value, state) }, @@ -97,7 +97,7 @@ void Painter::renderFill(PaintParameters& parameters, if (properties.fillAntialias.value && !properties.fillOutlineColor.isUndefined() && pass == RenderPass::Translucent) { draw(2, - parameters.shaders.fillOutline, + parameters.programs.fillOutline, properties.fillOutlineColor.value, gl::Segmented<gl::Lines>( *bucket.vertexBuffer, @@ -110,7 +110,7 @@ void Painter::renderFill(PaintParameters& parameters, // or when it's translucent and we're drawing translucent fragments. if ((properties.fillColor.value.a >= 1.0f && properties.fillOpacity.value >= 1.0f) == (pass == RenderPass::Opaque)) { draw(1, - parameters.shaders.fill, + parameters.programs.fill, properties.fillOutlineColor.value, gl::Segmented<gl::Triangles>( *bucket.vertexBuffer, @@ -120,7 +120,7 @@ void Painter::renderFill(PaintParameters& parameters, if (properties.fillAntialias.value && properties.fillOutlineColor.isUndefined() && pass == RenderPass::Translucent) { draw(2, - parameters.shaders.fillOutline, + parameters.programs.fillOutline, properties.fillColor.value, gl::Segmented<gl::Lines>( *bucket.vertexBuffer, diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp index 377c956e7c..7f9556fd3f 100644 --- a/src/mbgl/renderer/painter_line.cpp +++ b/src/mbgl/renderer/painter_line.cpp @@ -4,8 +4,8 @@ #include <mbgl/renderer/render_tile.hpp> #include <mbgl/style/layers/line_layer.hpp> #include <mbgl/style/layers/line_layer_impl.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/line_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/line_program.hpp> #include <mbgl/sprite/sprite_atlas.hpp> #include <mbgl/geometry/line_atlas.hpp> @@ -23,12 +23,12 @@ void Painter::renderLine(PaintParameters& parameters, const auto& properties = layer.impl->paint; - auto draw = [&] (auto& shader, auto&& uniformValues) { + auto draw = [&] (auto& program, auto&& uniformValues) { context.draw({ depthModeForSublayer(0, gl::DepthMode::ReadOnly), stencilModeForClipping(tile.clip), colorModeForRenderPass(), - shader, + program, std::move(uniformValues), gl::Segmented<gl::Triangles>( *bucket.vertexBuffer, @@ -46,8 +46,8 @@ void Painter::renderLine(PaintParameters& parameters, lineAtlas->bind(context, 0); - draw(parameters.shaders.lineSDF, - LineSDFUniforms::values( + draw(parameters.programs.lineSDF, + LineSDFProgram::uniformValues( properties, frame.pixelRatio, tile, @@ -68,8 +68,8 @@ void Painter::renderLine(PaintParameters& parameters, spriteAtlas->bind(true, context, 0); - draw(parameters.shaders.linePattern, - LinePatternUniforms::values( + draw(parameters.programs.linePattern, + LinePatternProgram::uniformValues( properties, frame.pixelRatio, tile, @@ -78,8 +78,8 @@ void Painter::renderLine(PaintParameters& parameters, *posB)); } else { - draw(parameters.shaders.line, - LineColorUniforms::values( + draw(parameters.programs.line, + LineProgram::uniformValues( properties, frame.pixelRatio, tile, diff --git a/src/mbgl/renderer/painter_raster.cpp b/src/mbgl/renderer/painter_raster.cpp index 6acd29eb37..c619cad2aa 100644 --- a/src/mbgl/renderer/painter_raster.cpp +++ b/src/mbgl/renderer/painter_raster.cpp @@ -4,8 +4,8 @@ #include <mbgl/renderer/raster_bucket.hpp> #include <mbgl/style/layers/raster_layer.hpp> #include <mbgl/style/layers/raster_layer_impl.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/raster_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/raster_program.hpp> namespace mbgl { @@ -58,8 +58,8 @@ void Painter::renderRaster(PaintParameters& parameters, depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), colorModeForRenderPass(), - parameters.shaders.raster, - RasterUniforms::Values { + parameters.programs.raster, + RasterProgram::UniformValues { uniforms::u_matrix::Value{ tile.matrix }, uniforms::u_image0::Value{ 0 }, uniforms::u_image1::Value{ 1 }, diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp index cf4bb9ee86..2f94544486 100644 --- a/src/mbgl/renderer/painter_symbol.cpp +++ b/src/mbgl/renderer/painter_symbol.cpp @@ -6,9 +6,9 @@ #include <mbgl/style/layers/symbol_layer_impl.hpp> #include <mbgl/text/glyph_atlas.hpp> #include <mbgl/sprite/sprite_atlas.hpp> -#include <mbgl/shader/shaders.hpp> -#include <mbgl/shader/symbol_uniforms.hpp> -#include <mbgl/shader/collision_box_uniforms.hpp> +#include <mbgl/programs/programs.hpp> +#include <mbgl/programs/symbol_program.hpp> +#include <mbgl/programs/collision_box_program.hpp> #include <mbgl/util/math.hpp> #include <mbgl/tile/tile.hpp> @@ -30,7 +30,7 @@ void Painter::renderSymbol(PaintParameters& parameters, frameHistory.bind(context, 1); - auto draw = [&] (auto& shader, + auto draw = [&] (auto& program, auto&& uniformValues, const auto& buffers, const SymbolPropertyValues& values_) @@ -54,7 +54,7 @@ void Painter::renderSymbol(PaintParameters& parameters, ? gl::StencilMode::disabled() : stencilModeForClipping(tile.clip), colorModeForRenderPass(), - shader, + program, std::move(uniformValues), gl::Segmented<gl::Triangles>( *buffers.vertexBuffer, @@ -76,21 +76,21 @@ void Painter::renderSymbol(PaintParameters& parameters, if (bucket.sdfIcons) { if (values.hasHalo()) { - draw(parameters.shaders.symbolIconSDF, - SymbolSDFUniforms::haloValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), + draw(parameters.programs.symbolIconSDF, + SymbolSDFProgram::haloUniformValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), bucket.icon, values); } if (values.hasForeground()) { - draw(parameters.shaders.symbolIconSDF, - SymbolSDFUniforms::foregroundValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), + draw(parameters.programs.symbolIconSDF, + SymbolSDFProgram::foregroundUniformValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), bucket.icon, values); } } else { - draw(parameters.shaders.symbolIcon, - SymbolIconUniforms::values(values, texsize, pixelsToGLUnits, tile, state), + draw(parameters.programs.symbolIcon, + SymbolIconProgram::uniformValues(values, texsize, pixelsToGLUnits, tile, state), bucket.icon, values); } @@ -104,15 +104,15 @@ void Painter::renderSymbol(PaintParameters& parameters, const Size texsize = glyphAtlas->getSize(); if (values.hasHalo()) { - draw(parameters.shaders.symbolGlyph, - SymbolSDFUniforms::haloValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), + draw(parameters.programs.symbolGlyph, + SymbolSDFProgram::haloUniformValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), bucket.text, values); } if (values.hasForeground()) { - draw(parameters.shaders.symbolGlyph, - SymbolSDFUniforms::foregroundValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), + draw(parameters.programs.symbolGlyph, + SymbolSDFProgram::foregroundUniformValues(values, texsize, pixelsToGLUnits, tile, state, frame.pixelRatio), bucket.text, values); } @@ -123,8 +123,8 @@ void Painter::renderSymbol(PaintParameters& parameters, gl::DepthMode::disabled(), gl::StencilMode::disabled(), colorModeForRenderPass(), - shaders->collisionBox, - CollisionBoxUniforms::Values { + programs->collisionBox, + CollisionBoxProgram::UniformValues { uniforms::u_matrix::Value{ tile.matrix }, uniforms::u_scale::Value{ std::pow(2.0f, float(state.getZoom() - tile.tile.id.overscaledZ)) }, uniforms::u_zoom::Value{ float(state.getZoom() * 10) }, diff --git a/src/mbgl/renderer/raster_bucket.cpp b/src/mbgl/renderer/raster_bucket.cpp index bfe728c0b0..0355911296 100644 --- a/src/mbgl/renderer/raster_bucket.cpp +++ b/src/mbgl/renderer/raster_bucket.cpp @@ -1,6 +1,6 @@ #include <mbgl/renderer/raster_bucket.hpp> #include <mbgl/style/layers/raster_layer.hpp> -#include <mbgl/shader/raster_shader.hpp> +#include <mbgl/programs/raster_program.hpp> #include <mbgl/renderer/painter.hpp> #include <mbgl/gl/context.hpp> diff --git a/src/mbgl/renderer/symbol_bucket.hpp b/src/mbgl/renderer/symbol_bucket.hpp index 993d3b85d8..d33341008e 100644 --- a/src/mbgl/renderer/symbol_bucket.hpp +++ b/src/mbgl/renderer/symbol_bucket.hpp @@ -5,8 +5,8 @@ #include <mbgl/gl/vertex_buffer.hpp> #include <mbgl/gl/index_buffer.hpp> #include <mbgl/gl/segment.hpp> -#include <mbgl/shader/symbol_attributes.hpp> -#include <mbgl/shader/collision_box_attributes.hpp> +#include <mbgl/programs/symbol_program.hpp> +#include <mbgl/programs/collision_box_program.hpp> #include <mbgl/text/glyph_range.hpp> #include <mbgl/style/layers/symbol_layer_properties.hpp> |