diff options
author | Molly Lloyd <mollymerp@users.noreply.github.com> | 2016-11-16 17:34:33 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-16 17:34:33 -0800 |
commit | 3380f0803a62525a6884ee4d05e103e072c36117 (patch) | |
tree | dd9263d66d91eea1f41f21d3eaf5173d12b559a2 /src/mbgl/programs/line_program.cpp | |
parent | a5ac64316642cacb32466ea24ba2bf29b8d35da4 (diff) | |
download | qtlocation-mapboxgl-3380f0803a62525a6884ee4d05e103e072c36117.tar.gz |
[core] update native for line property function shaders changes (#6658)
* [core] update shaders for line property functions
update deps, define device pixel ratio for all shaders
[core] create ShaderParameter struct to store pixel ratio and overdraw param
repair rebase errs
update shaders to include pixel ratio
make sure collision_box never overdraws
update test suite, move shaders to Painter::render so the correct pixel ratio is applied
move shader compiling back to the Painter constructor
rebase from shader --> program refactor
re-factor parameters for collisionBox and debug programs
remove unused vars from line-program, move blur math to shader
update core files
remove unecessary files
update shaders PR, remove comments
bump test suite sha
fix formatting, incorporate feedback
refactor program.hpp
* [core] remove line transformations that were moved to the shaders, bump shader sha
* [core] shorten ProgramParameter instantiation
* [core] bump shader+test suite shas
Diffstat (limited to 'src/mbgl/programs/line_program.cpp')
-rw-r--r-- | src/mbgl/programs/line_program.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp index 07af464eb3..8c35df1b6e 100644 --- a/src/mbgl/programs/line_program.cpp +++ b/src/mbgl/programs/line_program.cpp @@ -12,13 +12,9 @@ static_assert(sizeof(LineAttributes::Vertex) == 8, "expected LineVertex size"); template <class Values, class...Args> Values makeValues(const style::LinePaintProperties& properties, - float pixelRatio, const RenderTile& tile, const TransformState& state, Args&&... args) { - // the distance over which the line edge fades out. - // Retina devices need a smaller distance to avoid aliasing. - float antialiasing = 1.0 / pixelRatio; mat2 antialiasingMatrix; matrix::identity(antialiasingMatrix); @@ -35,11 +31,10 @@ Values makeValues(const style::LinePaintProperties& properties, properties.lineTranslateAnchor.value, state) }, uniforms::u_opacity::Value{ properties.lineOpacity.value }, - uniforms::u_linewidth::Value{ properties.lineWidth.value / 2 }, - uniforms::u_gapwidth::Value{ properties.lineGapWidth.value / 2 }, - uniforms::u_blur::Value{ properties.lineBlur.value + antialiasing }, - uniforms::u_offset::Value{ -properties.lineOffset.value }, - uniforms::u_antialiasing::Value{ antialiasing / 2 }, + uniforms::u_width::Value{ properties.lineWidth.value }, + uniforms::u_gapwidth::Value{ properties.lineGapWidth.value }, + uniforms::u_blur::Value{ properties.lineBlur.value }, + uniforms::u_offset::Value{ properties.lineOffset.value }, uniforms::u_antialiasingmatrix::Value{ antialiasingMatrix }, uniforms::u_ratio::Value{ 1.0f / tile.id.pixelsToTileUnits(1.0, state.getZoom()) }, uniforms::u_extra::Value{ (topedgelength + x) / topedgelength - 1.0f }, @@ -49,12 +44,10 @@ Values makeValues(const style::LinePaintProperties& properties, LineProgram::UniformValues LineProgram::uniformValues(const style::LinePaintProperties& properties, - float pixelRatio, const RenderTile& tile, const TransformState& state) { return makeValues<LineProgram::UniformValues>( properties, - pixelRatio, tile, state, uniforms::u_color::Value{ properties.lineColor.value } @@ -85,7 +78,6 @@ LineSDFProgram::uniformValues(const style::LinePaintProperties& properties, return makeValues<LineSDFProgram::UniformValues>( properties, - pixelRatio, tile, state, uniforms::u_color::Value{ properties.lineColor.value }, @@ -101,7 +93,6 @@ LineSDFProgram::uniformValues(const style::LinePaintProperties& properties, LinePatternProgram::UniformValues LinePatternProgram::uniformValues(const style::LinePaintProperties& properties, - float pixelRatio, const RenderTile& tile, const TransformState& state, const SpriteAtlasPosition& posA, @@ -118,7 +109,6 @@ LinePatternProgram::uniformValues(const style::LinePaintProperties& properties, return makeValues<LinePatternProgram::UniformValues>( properties, - pixelRatio, tile, state, uniforms::u_pattern_tl_a::Value{ posA.tl }, |