diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-03-07 17:50:02 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-03-12 11:03:54 +0100 |
commit | e27f33062994a1b0155b44b9d471e48e93b09f8e (patch) | |
tree | eff2ba71134b9721c16fd53378b9256b94396712 /src/mbgl/renderer/layers/render_heatmap_layer.cpp | |
parent | cb64c380fbbd209cb68af60e76b7a770805353a8 (diff) | |
download | qtlocation-mapboxgl-e27f33062994a1b0155b44b9d471e48e93b09f8e.tar.gz |
[core] add texture bindings to draw call instead of Context member fn
Diffstat (limited to 'src/mbgl/renderer/layers/render_heatmap_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_heatmap_layer.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp index 9dd1ee6493..74b976658e 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp @@ -77,7 +77,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { } if (!colorRampTexture) { - colorRampTexture = parameters.context.createTexture(colorRamp, 1, gfx::TextureChannelDataType::UnsignedByte); + colorRampTexture = parameters.context.createTexture(colorRamp, gfx::TextureChannelDataType::UnsignedByte); } parameters.context.clear(Color{ 0.0f, 0.0f, 0.0f, 1.0f }, {}, {}); @@ -134,9 +134,6 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { } } else if (parameters.pass == RenderPass::Translucent) { - parameters.context.bindTexture(renderTexture->getTexture(), 0, gfx::TextureFilterType::Linear); - parameters.context.bindTexture(*colorRampTexture, 1, gfx::TextureFilterType::Linear); - const auto& size = parameters.staticData.backendSize; mat4 viewportMat; @@ -150,8 +147,6 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { const auto allUniformValues = programInstance.computeAllUniformValues( HeatmapTextureProgram::UniformValues{ uniforms::u_matrix::Value( viewportMat ), uniforms::u_world::Value( size ), - uniforms::u_image::Value( 0 ), - uniforms::u_color_ramp::Value( 1 ), uniforms::u_opacity::Value( evaluated.get<HeatmapOpacity>() ) }, paintAttributeData, @@ -177,7 +172,10 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { parameters.staticData.extrusionTextureSegments, allUniformValues, allAttributeBindings, - HeatmapProgram::TextureBindings{}, + HeatmapTextureProgram::TextureBindings{ + textures::u_image::Value{ *renderTexture->getTexture().resource, gfx::TextureFilterType::Linear }, + textures::u_color_ramp::Value{ *colorRampTexture->resource, gfx::TextureFilterType::Linear }, + }, getID() ); } |