diff options
Diffstat (limited to 'src/mbgl/renderer/layers/render_circle_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_circle_layer.cpp | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp index e5d7e6230e..a8a70d2a3a 100644 --- a/src/mbgl/renderer/layers/render_circle_layer.cpp +++ b/src/mbgl/renderer/layers/render_circle_layer.cpp @@ -75,35 +75,26 @@ void RenderCircleLayer::render(PaintParameters& parameters) { const auto& paintPropertyBinders = bucket.paintPropertyBinders.at(getID()); auto& programInstance = parameters.programs.getCircleLayerPrograms().circle; - - const auto allUniformValues = programInstance.computeAllUniformValues( - CircleProgram::LayoutUniformValues { - uniforms::matrix::Value( - tile.translatedMatrix(evaluated.get<CircleTranslate>(), - evaluated.get<CircleTranslateAnchor>(), - parameters.state) - ), - uniforms::scale_with_map::Value( scaleWithMap ), - uniforms::extrude_scale::Value( pitchWithMap - ? std::array<float, 2> {{ - tile.id.pixelsToTileUnits(1, parameters.state.getZoom()), - tile.id.pixelsToTileUnits(1, parameters.state.getZoom()) }} - : parameters.pixelsToGLUnits ), - uniforms::device_pixel_ratio::Value( parameters.pixelRatio ), - uniforms::camera_to_center_distance::Value( parameters.state.getCameraToCenterDistance() ), - uniforms::pitch_with_map::Value( pitchWithMap ) - }, + + const auto allUniformValues = CircleProgram::computeAllUniformValues( + CircleProgram::LayoutUniformValues{ + uniforms::matrix::Value(tile.translatedMatrix( + evaluated.get<CircleTranslate>(), evaluated.get<CircleTranslateAnchor>(), parameters.state)), + uniforms::scale_with_map::Value(scaleWithMap), + uniforms::extrude_scale::Value( + pitchWithMap ? std::array<float, 2>{{tile.id.pixelsToTileUnits(1, parameters.state.getZoom()), + tile.id.pixelsToTileUnits(1, parameters.state.getZoom())}} + : parameters.pixelsToGLUnits), + uniforms::device_pixel_ratio::Value(parameters.pixelRatio), + uniforms::camera_to_center_distance::Value(parameters.state.getCameraToCenterDistance()), + uniforms::pitch_with_map::Value(pitchWithMap)}, paintPropertyBinders, evaluated, - parameters.state.getZoom() - ); - const auto allAttributeBindings = programInstance.computeAllAttributeBindings( - *bucket.vertexBuffer, - paintPropertyBinders, - evaluated - ); + parameters.state.getZoom()); + const auto allAttributeBindings = + CircleProgram::computeAllAttributeBindings(*bucket.vertexBuffer, paintPropertyBinders, evaluated); - checkRenderability(parameters, programInstance.activeBindingCount(allAttributeBindings)); + checkRenderability(parameters, CircleProgram::activeBindingCount(allAttributeBindings)); programInstance.draw( parameters.context, |