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/renderer | |
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/renderer')
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_circle.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/painter_line.cpp | 2 |
4 files changed, 10 insertions, 8 deletions
diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 9dee668874..6502845494 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -21,6 +21,7 @@ #include <mbgl/geometry/line_atlas.hpp> #include <mbgl/text/glyph_atlas.hpp> +#include <mbgl/programs/program_parameters.hpp> #include <mbgl/programs/programs.hpp> #include <mbgl/algorithm/generate_clip_ids.hpp> @@ -73,7 +74,7 @@ static gl::VertexVector<RasterVertex, gl::TriangleStrip> rasterTriangleStrip() { return result; } -Painter::Painter(gl::Context& context_, const TransformState& state_) +Painter::Painter(gl::Context& context_, const TransformState& state_, float pixelRatio) : context(context_), state(state_), tileTriangleVertexBuffer(context.createVertexBuffer(tileTriangles())), @@ -86,9 +87,12 @@ Painter::Painter(gl::Context& context_, const TransformState& state_) gl::debugging::enable(); #endif - programs = std::make_unique<Programs>(context); + ProgramParameters programParameters{ pixelRatio, false }; + programs = std::make_unique<Programs>(context, programParameters); #ifndef NDEBUG - overdrawPrograms = std::make_unique<Programs>(context, ProgramDefines::Overdraw); + + ProgramParameters programParametersOverdraw{ pixelRatio, true }; + overdrawPrograms = std::make_unique<Programs>(context, programParametersOverdraw); #endif } diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 2aa317f95a..6d402b027b 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -10,6 +10,7 @@ #include <mbgl/gl/context.hpp> #include <mbgl/programs/debug_program.hpp> +#include <mbgl/programs/program_parameters.hpp> #include <mbgl/programs/fill_program.hpp> #include <mbgl/programs/raster_program.hpp> @@ -67,7 +68,7 @@ struct FrameData { class Painter : private util::noncopyable { public: - Painter(gl::Context&, const TransformState&); + Painter(gl::Context&, const TransformState&, float pixelRatio); ~Painter(); void render(const style::Style&, diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp index e9c828bcd8..763181605f 100644 --- a/src/mbgl/renderer/painter_circle.cpp +++ b/src/mbgl/renderer/painter_circle.cpp @@ -45,8 +45,7 @@ void Painter::renderCircle(PaintParameters& parameters, pixelsToGLUnits[0] * state.getAltitude(), pixelsToGLUnits[1] * state.getAltitude() }} - : pixelsToGLUnits }, - uniforms::u_devicepixelratio::Value{ frame.pixelRatio }, + : pixelsToGLUnits } }, *bucket.vertexBuffer, *bucket.indexBuffer, diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp index a495edc428..151228ee95 100644 --- a/src/mbgl/renderer/painter_line.cpp +++ b/src/mbgl/renderer/painter_line.cpp @@ -70,7 +70,6 @@ void Painter::renderLine(PaintParameters& parameters, draw(parameters.programs.linePattern, LinePatternProgram::uniformValues( properties, - frame.pixelRatio, tile, state, *posA, @@ -80,7 +79,6 @@ void Painter::renderLine(PaintParameters& parameters, draw(parameters.programs.line, LineProgram::uniformValues( properties, - frame.pixelRatio, tile, state)); } |