summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-10-28 18:17:33 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-11-08 08:09:29 -0800
commit66bdbc3b969083b9d647abdf72784be64a125949 (patch)
tree9f2f1c6eb3d0569926420459c2c9afda50c66fd0 /src/mbgl/renderer
parent36210fe4e9c68a52dedc90548d90e77cf39a2228 (diff)
downloadqtlocation-mapboxgl-66bdbc3b969083b9d647abdf72784be64a125949.tar.gz
[core] Introduce gl::Program template
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r--src/mbgl/renderer/circle_bucket.cpp10
-rw-r--r--src/mbgl/renderer/circle_bucket.hpp2
-rw-r--r--src/mbgl/renderer/debug_bucket.cpp3
-rw-r--r--src/mbgl/renderer/debug_bucket.hpp2
-rw-r--r--src/mbgl/renderer/fill_bucket.cpp5
-rw-r--r--src/mbgl/renderer/fill_bucket.hpp2
-rw-r--r--src/mbgl/renderer/line_bucket.hpp2
-rw-r--r--src/mbgl/renderer/paint_parameters.hpp4
-rw-r--r--src/mbgl/renderer/painter.cpp18
-rw-r--r--src/mbgl/renderer/painter.hpp11
-rw-r--r--src/mbgl/renderer/painter_background.cpp10
-rw-r--r--src/mbgl/renderer/painter_circle.cpp8
-rw-r--r--src/mbgl/renderer/painter_clipping.cpp8
-rw-r--r--src/mbgl/renderer/painter_debug.cpp8
-rw-r--r--src/mbgl/renderer/painter_fill.cpp24
-rw-r--r--src/mbgl/renderer/painter_line.cpp20
-rw-r--r--src/mbgl/renderer/painter_raster.cpp8
-rw-r--r--src/mbgl/renderer/painter_symbol.cpp34
-rw-r--r--src/mbgl/renderer/raster_bucket.cpp2
-rw-r--r--src/mbgl/renderer/symbol_bucket.hpp4
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>