diff options
Diffstat (limited to 'src/mbgl/programs/collision_box_program.hpp')
-rw-r--r-- | src/mbgl/programs/collision_box_program.hpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mbgl/programs/collision_box_program.hpp b/src/mbgl/programs/collision_box_program.hpp index 160fd42814..3b4260bb78 100644 --- a/src/mbgl/programs/collision_box_program.hpp +++ b/src/mbgl/programs/collision_box_program.hpp @@ -18,6 +18,7 @@ MBGL_DEFINE_UNIFORM_SCALAR(float, u_maxzoom); using CollisionBoxAttributes = gl::Attributes< attributes::a_pos, + attributes::a_anchor_pos, attributes::a_extrude, attributes::a_data<uint8_t, 2>>; @@ -29,19 +30,26 @@ class CollisionBoxProgram : public Program< uniforms::u_matrix, uniforms::u_scale, uniforms::u_zoom, - uniforms::u_maxzoom>, + uniforms::u_maxzoom, + uniforms::u_collision_y_stretch, + uniforms::u_camera_to_center_distance, + uniforms::u_pitch>, style::Properties<>> { public: using Program::Program; - static LayoutVertex vertex(Point<float> a, Point<float> o, float maxzoom, float placementZoom) { + static LayoutVertex vertex(Point<float> a, Point<float> anchor, Point<float> o, float maxzoom, float placementZoom) { return LayoutVertex { {{ static_cast<int16_t>(a.x), static_cast<int16_t>(a.y) }}, {{ + static_cast<int16_t>(anchor.x), + static_cast<int16_t>(anchor.y) + }}, + {{ static_cast<int16_t>(::round(o.x)), static_cast<int16_t>(::round(o.y)) }}, |