summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarim Naaji <karim.naaji@gmail.com>2020-06-01 15:34:22 -0700
committerKarim Naaji <karim.naaji@gmail.com>2020-06-01 15:34:22 -0700
commit2dfd8ba452ce1528965ea6bef3355e0f970142ec (patch)
tree0721825d2eedf76ce27445d5b3caefb4423acc8f
parentb675454edf4c2005dd6da3207ab4431135fb9f5e (diff)
downloadqtlocation-mapboxgl-2dfd8ba452ce1528965ea6bef3355e0f970142ec.tar.gz
Start adding new attributes and uniforms
-rw-r--r--src/mbgl/programs/attributes.hpp2
-rw-r--r--src/mbgl/programs/fill_extrusion_program.cpp3
-rw-r--r--src/mbgl/programs/fill_extrusion_program.hpp1
-rw-r--r--src/mbgl/programs/fill_program.cpp5
-rw-r--r--src/mbgl/programs/fill_program.hpp3
-rw-r--r--src/mbgl/programs/line_program.cpp2
-rw-r--r--src/mbgl/programs/uniforms.hpp4
-rw-r--r--src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp1
-rw-r--r--src/mbgl/renderer/layers/render_fill_layer.cpp3
9 files changed, 11 insertions, 13 deletions
diff --git a/src/mbgl/programs/attributes.hpp b/src/mbgl/programs/attributes.hpp
index 09d5eca809..adf30255fa 100644
--- a/src/mbgl/programs/attributes.hpp
+++ b/src/mbgl/programs/attributes.hpp
@@ -53,6 +53,8 @@ MBGL_DEFINE_ATTRIBUTE(float, 1, halo_blur);
MBGL_DEFINE_ATTRIBUTE(float, 1, weight);
MBGL_DEFINE_ATTRIBUTE(uint16_t, 4, pattern_to);
MBGL_DEFINE_ATTRIBUTE(uint16_t, 4, pattern_from);
+MBGL_DEFINE_ATTRIBUTE(float, 1, pixel_ratio_to);
+MBGL_DEFINE_ATTRIBUTE(float, 1, pixel_ratio_from);
} // namespace attributes
diff --git a/src/mbgl/programs/fill_extrusion_program.cpp b/src/mbgl/programs/fill_extrusion_program.cpp
index 7209072b02..bfb859da84 100644
--- a/src/mbgl/programs/fill_extrusion_program.cpp
+++ b/src/mbgl/programs/fill_extrusion_program.cpp
@@ -51,7 +51,6 @@ FillExtrusionPatternProgram::layoutUniformValues(mat4 matrix,
const TransformState& state,
const float opacity,
const float heightFactor,
- const float pixelRatio,
const EvaluatedLight& light,
const float verticalGradient) {
const auto tileRatio = 1 / tileID.pixelsToTileUnits(1, state.getIntegerZoom());
@@ -62,7 +61,7 @@ FillExtrusionPatternProgram::layoutUniformValues(mat4 matrix,
return {
uniforms::matrix::Value( matrix ),
uniforms::opacity::Value( opacity ),
- uniforms::scale::Value( {{pixelRatio, tileRatio, crossfade.fromScale, crossfade.toScale}} ),
+ uniforms::scale::Value( {{tileRatio, crossfade.fromScale, crossfade.toScale}} ),
uniforms::texsize::Value( atlasSize ),
uniforms::fade::Value( crossfade.t ),
uniforms::pixel_coord_upper::Value( std::array<float, 2>{{ float(pixelX >> 16), float(pixelY >> 16) }} ),
diff --git a/src/mbgl/programs/fill_extrusion_program.hpp b/src/mbgl/programs/fill_extrusion_program.hpp
index f92bd7c968..4020e5d111 100644
--- a/src/mbgl/programs/fill_extrusion_program.hpp
+++ b/src/mbgl/programs/fill_extrusion_program.hpp
@@ -108,7 +108,6 @@ public:
const TransformState&,
float opacity,
float heightFactor,
- float pixelRatio,
const EvaluatedLight&,
float verticalGradient);
};
diff --git a/src/mbgl/programs/fill_program.cpp b/src/mbgl/programs/fill_program.cpp
index f314fcc597..744a1dd80b 100644
--- a/src/mbgl/programs/fill_program.cpp
+++ b/src/mbgl/programs/fill_program.cpp
@@ -16,8 +16,7 @@ FillPatternProgram::layoutUniformValues(mat4 matrix,
Size atlasSize,
const CrossfadeParameters& crossfade,
const UnwrappedTileID& tileID,
- const TransformState& state,
- const float pixelRatio) {
+ const TransformState& state) {
const auto tileRatio = 1 / tileID.pixelsToTileUnits(1, state.getIntegerZoom());
int32_t tileSizeAtNearestZoom = util::tileSize * state.zoomScale(state.getIntegerZoom() - tileID.canonical.z);
int32_t pixelX = tileSizeAtNearestZoom * (tileID.canonical.x + tileID.wrap * state.zoomScale(tileID.canonical.z));
@@ -27,7 +26,7 @@ FillPatternProgram::layoutUniformValues(mat4 matrix,
uniforms::matrix::Value( matrix ),
uniforms::world::Value( framebufferSize ),
uniforms::texsize::Value( atlasSize ),
- uniforms::scale::Value({ {pixelRatio, tileRatio, crossfade.fromScale, crossfade.toScale} } ),
+ uniforms::scale::Value({ {tileRatio, crossfade.fromScale, crossfade.toScale} } ),
uniforms::fade::Value( crossfade.t ),
uniforms::pixel_coord_upper::Value( std::array<float, 2> {{ float(pixelX >> 16), float(pixelY >> 16) }}),
uniforms::pixel_coord_lower::Value( std::array<float, 2> {{ float(pixelX & 0xFFFF), float(pixelY & 0xFFFF) }} )
diff --git a/src/mbgl/programs/fill_program.hpp b/src/mbgl/programs/fill_program.hpp
index da39fe40b7..09ec6c778a 100644
--- a/src/mbgl/programs/fill_program.hpp
+++ b/src/mbgl/programs/fill_program.hpp
@@ -71,8 +71,7 @@ public:
Size atlasSize,
const CrossfadeParameters& crossfade,
const UnwrappedTileID&,
- const TransformState&,
- float pixelRatio);
+ const TransformState&);
};
class FillOutlineProgram : public Program<
diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp
index c808a95c0d..0a4315ccb1 100644
--- a/src/mbgl/programs/line_program.cpp
+++ b/src/mbgl/programs/line_program.cpp
@@ -103,7 +103,7 @@ LinePatternProgram::LayoutUniformValues LinePatternProgram::layoutUniformValues(
state,
pixelsToGLUnits,
pixelRatio,
- uniforms::scale::Value ({ {pixelRatio, tileRatio, crossfade.fromScale, crossfade.toScale} }),
+ uniforms::scale::Value ({ {tileRatio, crossfade.fromScale, crossfade.toScale} }),
uniforms::texsize::Value( atlasSize ),
uniforms::fade::Value( crossfade.t )
);
diff --git a/src/mbgl/programs/uniforms.hpp b/src/mbgl/programs/uniforms.hpp
index bf928cde5e..bb9b6f45be 100644
--- a/src/mbgl/programs/uniforms.hpp
+++ b/src/mbgl/programs/uniforms.hpp
@@ -51,7 +51,7 @@ MBGL_DEFINE_UNIFORM_SCALAR(float, extrude_scale);
MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 4, pattern_from);
MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 4, pattern_to);
-MBGL_DEFINE_UNIFORM_VECTOR(float, 4, scale);
+MBGL_DEFINE_UNIFORM_VECTOR(float, 3, scale);
MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, pattern_tl_a);
MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, pattern_br_a);
MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, pattern_tl_b);
@@ -66,6 +66,8 @@ MBGL_DEFINE_UNIFORM_SCALAR(float, scale_a);
MBGL_DEFINE_UNIFORM_SCALAR(float, scale_b);
MBGL_DEFINE_UNIFORM_SCALAR(float, tile_units_to_pixels);
MBGL_DEFINE_UNIFORM_SCALAR(float, overscale_factor);
+MBGL_DEFINE_UNIFORM_SCALAR(float, pixel_ratio_from);
+MBGL_DEFINE_UNIFORM_SCALAR(float, pixel_ratio_to);
} // namespace uniforms
} // namespace mbgl
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
index 4eaec6e55f..1344ecee24 100644
--- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
@@ -200,7 +200,6 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters) {
parameters.state,
evaluated.get<FillExtrusionOpacity>(),
-std::pow(2, tile.id.canonical.z) / util::tileSize / 8.0f,
- parameters.pixelRatio,
parameters.evaluatedLight,
evaluated.get<FillExtrusionVerticalGradient>()
),
diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp
index 2fb982143e..004ebb5093 100644
--- a/src/mbgl/renderer/layers/render_fill_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_layer.cpp
@@ -191,8 +191,7 @@ void RenderFillLayer::render(PaintParameters& parameters) {
tile.getIconAtlasTexture().size,
crossfade,
tile.id,
- parameters.state,
- parameters.pixelRatio
+ parameters.state
),
paintPropertyBinders,
evaluated,