summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r--src/mbgl/renderer/layers/render_background_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_circle_layer.cpp2
-rw-r--r--src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp6
-rw-r--r--src/mbgl/renderer/layers/render_fill_layer.cpp8
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_hillshade_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp8
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp2
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp14
-rw-r--r--src/mbgl/renderer/render_static_data.hpp3
10 files changed, 29 insertions, 26 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index d7bf0dc6bd..b80bffa6df 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -96,7 +96,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
for (const auto& tileID : util::tileCover(parameters.state, parameters.state.getIntegerZoom())) {
draw(
- parameters.programs.backgroundPattern,
+ parameters.programs.getBackgroundLayerPrograms().backgroundPattern,
BackgroundPatternUniforms::values(
parameters.matrixForTile(tileID),
evaluated.get<BackgroundOpacity>(),
@@ -112,7 +112,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
} else {
for (const auto& tileID : util::tileCover(parameters.state, parameters.state.getIntegerZoom())) {
draw(
- parameters.programs.background,
+ parameters.programs.getBackgroundLayerPrograms().background,
BackgroundProgram::UniformValues {
uniforms::u_matrix::Value( parameters.matrixForTile(tileID) ),
uniforms::u_color::Value( evaluated.get<BackgroundColor>() ),
diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp
index b984c596d3..65550991a9 100644
--- a/src/mbgl/renderer/layers/render_circle_layer.cpp
+++ b/src/mbgl/renderer/layers/render_circle_layer.cpp
@@ -68,7 +68,7 @@ void RenderCircleLayer::render(PaintParameters& parameters, RenderSource*) {
const auto& paintPropertyBinders = bucket.paintPropertyBinders.at(getID());
- auto& programInstance = parameters.programs.circle.get(evaluated);
+ auto& programInstance = parameters.programs.getCircleLayerPrograms().circle.get(evaluated);
const auto allUniformValues = programInstance.computeAllUniformValues(
CircleProgram::UniformValues {
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
index aaf3756cfb..488adefa9b 100644
--- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
@@ -126,7 +126,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
FillExtrusionBucket& bucket = *bucket_;
draw(
- parameters.programs.fillExtrusion.get(evaluated),
+ parameters.programs.getFillExtrusionLayerPrograms().fillExtrusion.get(evaluated),
bucket,
FillExtrusionUniforms::values(
tile.translatedClipMatrix(evaluated.get<FillExtrusionTranslate>(),
@@ -153,7 +153,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
FillExtrusionBucket& bucket = *bucket_;
draw(
- parameters.programs.fillExtrusionPattern.get(evaluated),
+ parameters.programs.getFillExtrusionLayerPrograms().fillExtrusionPattern.get(evaluated),
bucket,
FillExtrusionPatternUniforms::values(
tile.translatedClipMatrix(evaluated.get<FillExtrusionTranslate>(),
@@ -184,7 +184,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
const Properties<>::PossiblyEvaluated properties;
const ExtrusionTextureProgram::PaintPropertyBinders paintAttributeData{ properties, 0 };
- auto& programInstance = parameters.programs.extrusionTexture;
+ auto& programInstance = parameters.programs.getFillExtrusionLayerPrograms().extrusionTexture;
const auto allUniformValues = programInstance.computeAllUniformValues(
ExtrusionTextureProgram::UniformValues{
diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp
index 391c2d5b0f..b4f8cb8e0b 100644
--- a/src/mbgl/renderer/layers/render_fill_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_layer.cpp
@@ -133,7 +133,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
// or when it's translucent and we're drawing translucent fragments.
if ((evaluated.get<FillColor>().constantOr(Color()).a >= 1.0f
&& evaluated.get<FillOpacity>().constantOr(0) >= 1.0f) == (parameters.pass == RenderPass::Opaque)) {
- draw(parameters.programs.fill,
+ draw(parameters.programs.getFillLayerPrograms().fill,
gl::Triangles(),
parameters.depthModeForSublayer(1, parameters.pass == RenderPass::Opaque
? gl::DepthMode::ReadWrite
@@ -143,7 +143,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
}
if (evaluated.get<FillAntialias>() && parameters.pass == RenderPass::Translucent) {
- draw(parameters.programs.fillOutline,
+ draw(parameters.programs.getFillLayerPrograms().fillOutline,
gl::Lines{ 2.0f },
parameters.depthModeForSublayer(
unevaluated.get<FillOutlineColor>().isUndefined() ? 2 : 0,
@@ -219,14 +219,14 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
);
};
- draw(parameters.programs.fillPattern,
+ draw(parameters.programs.getFillLayerPrograms().fillPattern,
gl::Triangles(),
parameters.depthModeForSublayer(1, gl::DepthMode::ReadWrite),
*bucket.triangleIndexBuffer,
bucket.triangleSegments);
if (evaluated.get<FillAntialias>() && unevaluated.get<FillOutlineColor>().isUndefined()) {
- draw(parameters.programs.fillOutlinePattern,
+ draw(parameters.programs.getFillLayerPrograms().fillOutlinePattern,
gl::Lines { 2.0f },
parameters.depthModeForSublayer(2, gl::DepthMode::ReadOnly),
*bucket.lineIndexBuffer,
diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp
index 1842cdac93..2c27da2f04 100644
--- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp
+++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp
@@ -101,7 +101,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
const auto& paintPropertyBinders = bucket.paintPropertyBinders.at(getID());
- auto& programInstance = parameters.programs.heatmap.get(evaluated);
+ auto& programInstance = parameters.programs.getHeatmapLayerPrograms().heatmap.get(evaluated);
const auto allUniformValues = programInstance.computeAllUniformValues(
HeatmapProgram::UniformValues {
@@ -148,7 +148,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
const Properties<>::PossiblyEvaluated properties;
const HeatmapTextureProgram::PaintPropertyBinders paintAttributeData{ properties, 0 };
- auto& programInstance = parameters.programs.heatmapTexture;
+ auto& programInstance = parameters.programs.getHeatmapLayerPrograms().heatmapTexture;
const auto allUniformValues = programInstance.computeAllUniformValues(
HeatmapTextureProgram::UniformValues{
diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
index ba7e782f16..8c245fa7fd 100644
--- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp
+++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
@@ -73,7 +73,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
const auto& indexBuffer,
const auto& segments,
const UnwrappedTileID& id) {
- auto& programInstance = parameters.programs.hillshade;
+ auto& programInstance = parameters.programs.getHillshadeLayerPrograms().hillshade;
const HillshadeProgram::PaintPropertyBinders paintAttributeData{ evaluated, 0 };
@@ -138,7 +138,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
const Properties<>::PossiblyEvaluated properties;
const HillshadePrepareProgram::PaintPropertyBinders paintAttributeData{ properties, 0 };
- auto& programInstance = parameters.programs.hillshadePrepare;
+ auto& programInstance = parameters.programs.getHillshadeLayerPrograms().hillshadePrepare;
const auto allUniformValues = programInstance.computeAllUniformValues(
HillshadePrepareProgram::UniformValues {
diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp
index fcdbc0b47a..601f717ec2 100644
--- a/src/mbgl/renderer/layers/render_line_layer.cpp
+++ b/src/mbgl/renderer/layers/render_line_layer.cpp
@@ -126,7 +126,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.lineAtlas.bind(parameters.context, 0);
- draw(parameters.programs.lineSDF,
+ draw(parameters.programs.getLineLayerPrograms().lineSDF,
LineSDFProgram::uniformValues(
evaluated,
parameters.pixelRatio,
@@ -148,7 +148,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
optional<ImagePosition> posA = geometryTile.getPattern(linePatternValue.from);
optional<ImagePosition> posB = geometryTile.getPattern(linePatternValue.to);
- draw(parameters.programs.linePattern,
+ draw(parameters.programs.getLineLayerPrograms().linePattern,
LinePatternProgram::uniformValues(
evaluated,
tile,
@@ -165,14 +165,14 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
}
parameters.context.bindTexture(*colorRampTexture, 0, gl::TextureFilter::Linear);
- draw(parameters.programs.lineGradient,
+ draw(parameters.programs.getLineLayerPrograms().lineGradient,
LineGradientProgram::uniformValues(
evaluated,
tile,
parameters.state,
parameters.pixelsToGLUnits), {}, {});
} else {
- draw(parameters.programs.line,
+ draw(parameters.programs.getLineLayerPrograms().line,
LineProgram::uniformValues(
evaluated,
tile,
diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp
index e0a7e427ad..b93d0775bd 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -83,7 +83,7 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
const auto& vertexBuffer,
const auto& indexBuffer,
const auto& segments) {
- auto& programInstance = parameters.programs.raster;
+ auto& programInstance = parameters.programs.getRasterLayerPrograms().raster;
const auto allUniformValues = programInstance.computeAllUniformValues(
RasterProgram::UniformValues {
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index 716b06c24d..61dcf8fa47 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -182,7 +182,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
if (bucket.sdfIcons) {
if (values.hasHalo) {
- draw(parameters.programs.symbolIconSDF,
+ draw(parameters.programs.getSymbolLayerPrograms().symbolIconSDF,
SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
bucket.icon,
bucket.iconSizeBinder,
@@ -192,7 +192,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
}
if (values.hasFill) {
- draw(parameters.programs.symbolIconSDF,
+ draw(parameters.programs.getSymbolLayerPrograms().symbolIconSDF,
SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
bucket.icon,
bucket.iconSizeBinder,
@@ -201,7 +201,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
paintPropertyValues);
}
} else {
- draw(parameters.programs.symbolIcon,
+ draw(parameters.programs.getSymbolLayerPrograms().symbolIcon,
SymbolIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange),
bucket.icon,
bucket.iconSizeBinder,
@@ -235,7 +235,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
const Size texsize = geometryTile.glyphAtlasTexture->size;
if (values.hasHalo) {
- draw(parameters.programs.symbolGlyph,
+ draw(parameters.programs.getSymbolLayerPrograms().symbolGlyph,
SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
bucket.text,
bucket.textSizeBinder,
@@ -245,7 +245,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
}
if (values.hasFill) {
- draw(parameters.programs.symbolGlyph,
+ draw(parameters.programs.getSymbolLayerPrograms().symbolGlyph,
SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
bucket.text,
bucket.textSizeBinder,
@@ -267,7 +267,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.pixelsToGLUnits[1] / (pixelRatio * scale)
}};
- parameters.programs.collisionBox.draw(
+ parameters.programs.getSymbolLayerPrograms().collisionBox.draw(
parameters.context,
gl::Lines { 1.0f },
gl::DepthMode::disabled(),
@@ -302,7 +302,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
}};
- parameters.programs.collisionCircle.draw(
+ parameters.programs.getSymbolLayerPrograms().collisionCircle.draw(
parameters.context,
gl::Triangles(),
gl::DepthMode::disabled(),
diff --git a/src/mbgl/renderer/render_static_data.hpp b/src/mbgl/renderer/render_static_data.hpp
index c2b54f3815..57dd7ab812 100644
--- a/src/mbgl/renderer/render_static_data.hpp
+++ b/src/mbgl/renderer/render_static_data.hpp
@@ -2,7 +2,10 @@
#include <mbgl/gl/vertex_buffer.hpp>
#include <mbgl/gl/index_buffer.hpp>
+#include <mbgl/programs/background_program.hpp>
+#include <mbgl/programs/extrusion_texture_program.hpp>
#include <mbgl/programs/programs.hpp>
+#include <mbgl/programs/raster_program.hpp>
#include <mbgl/util/optional.hpp>
#include <string>