diff options
-rw-r--r-- | include/mbgl/style/layers/custom_layer.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_custom_layer.cpp | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/mbgl/style/layers/custom_layer.hpp b/include/mbgl/style/layers/custom_layer.hpp index 9911df9a1e..fbe3a4a6c2 100644 --- a/include/mbgl/style/layers/custom_layer.hpp +++ b/include/mbgl/style/layers/custom_layer.hpp @@ -2,6 +2,8 @@ #include <mbgl/style/layer.hpp> +#include <array> + namespace mbgl { namespace style { @@ -17,6 +19,7 @@ struct CustomLayerRenderParameters { double bearing; double pitch; double fieldOfView; + std::array<double, 16> projectionMatrix; }; class CustomLayerHost { diff --git a/src/mbgl/renderer/layers/render_custom_layer.cpp b/src/mbgl/renderer/layers/render_custom_layer.cpp index 85ca5b074e..be9f64d9eb 100644 --- a/src/mbgl/renderer/layers/render_custom_layer.cpp +++ b/src/mbgl/renderer/layers/render_custom_layer.cpp @@ -6,6 +6,7 @@ #include <mbgl/style/layers/custom_layer_impl.hpp> #include <mbgl/map/transform_state.hpp> #include <mbgl/gl/gl.hpp> +#include <mbgl/util/mat4.hpp> namespace mbgl { @@ -72,6 +73,9 @@ void RenderCustomLayer::render(PaintParameters& paintParameters, RenderSource*) parameters.bearing = -state.getAngle() * util::RAD2DEG; parameters.pitch = state.getPitch(); parameters.fieldOfView = state.getFieldOfView(); + mat4 projMatrix; + state.getProjMatrix(projMatrix); + parameters.projectionMatrix = projMatrix; MBGL_CHECK_ERROR(host->render(parameters)); |