diff options
Diffstat (limited to 'src/mbgl/programs/line_program.cpp')
-rw-r--r-- | src/mbgl/programs/line_program.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp index 9428b5d9d6..cab1e7e6fd 100644 --- a/src/mbgl/programs/line_program.cpp +++ b/src/mbgl/programs/line_program.cpp @@ -23,6 +23,7 @@ Values makeValues(const style::LinePaintProperties::PossiblyEvaluated& propertie const RenderTile& tile, const TransformState& state, const std::array<float, 2>& pixelsToGLUnits, + const float pixelRatio, Args&&... args) { return Values { @@ -32,7 +33,8 @@ Values makeValues(const style::LinePaintProperties::PossiblyEvaluated& propertie state) ), uniforms::ratio::Value( 1.0f / tile.id.pixelsToTileUnits(1.0, state.getZoom()) ), - uniforms::gl_units_to_pixels::Value({ {1.0f / pixelsToGLUnits[0], 1.0f / pixelsToGLUnits[1]} }), + uniforms::units_to_pixels::Value({ {1.0f / pixelsToGLUnits[0], 1.0f / pixelsToGLUnits[1]} }), + uniforms::device_pixel_ratio::Value( pixelRatio ), std::forward<Args>(args)... }; } @@ -41,12 +43,14 @@ LineProgram::LayoutUniformValues LineProgram::layoutUniformValues(const style::LinePaintProperties::PossiblyEvaluated& properties, const RenderTile& tile, const TransformState& state, - const std::array<float, 2>& pixelsToGLUnits) { + const std::array<float, 2>& pixelsToGLUnits, + const float pixelRatio) { return makeValues<LineProgram::LayoutUniformValues>( properties, tile, state, - pixelsToGLUnits + pixelsToGLUnits, + pixelRatio ); } @@ -78,6 +82,7 @@ LineSDFProgram::layoutUniformValues(const style::LinePaintProperties::PossiblyEv tile, state, pixelsToGLUnits, + pixelRatio, uniforms::patternscale_a::Value( scaleA ), uniforms::patternscale_b::Value( scaleB ), uniforms::tex_y_a::Value( posA.y ), @@ -92,9 +97,9 @@ LinePatternProgram::LayoutUniformValues LinePatternProgram::layoutUniformValues( const RenderTile& tile, const TransformState& state, const std::array<float, 2>& pixelsToGLUnits, + const float pixelRatio, const Size atlasSize, - const CrossfadeParameters& crossfade, - const float pixelRatio) { + const CrossfadeParameters& crossfade) { const auto tileRatio = 1 / tile.id.pixelsToTileUnits(1, state.getIntegerZoom()); @@ -103,6 +108,7 @@ LinePatternProgram::LayoutUniformValues LinePatternProgram::layoutUniformValues( tile, state, pixelsToGLUnits, + pixelRatio, uniforms::scale::Value ({ {pixelRatio, tileRatio, crossfade.fromScale, crossfade.toScale} }), uniforms::texsize::Value( atlasSize ), uniforms::fade::Value( crossfade.t ) @@ -113,12 +119,14 @@ LineGradientProgram::LayoutUniformValues LineGradientProgram::layoutUniformValue const style::LinePaintProperties::PossiblyEvaluated& properties, const RenderTile& tile, const TransformState& state, - const std::array<float, 2>& pixelsToGLUnits) { + const std::array<float, 2>& pixelsToGLUnits, + const float pixelRatio) { return makeValues<LineGradientProgram::LayoutUniformValues>( properties, tile, state, - pixelsToGLUnits + pixelsToGLUnits, + pixelRatio ); } |