diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-03-07 13:08:30 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-03-12 11:03:54 +0100 |
commit | cb64c380fbbd209cb68af60e76b7a770805353a8 (patch) | |
tree | 77b790ae49e8f5877be599a0dad2f413a98da43f /src/mbgl/programs | |
parent | 54847ea98698c85da156874dc84088772599ee3b (diff) | |
download | qtlocation-mapboxgl-cb64c380fbbd209cb68af60e76b7a770805353a8.tar.gz |
[core] add texture bindings to draw call invocations
Diffstat (limited to 'src/mbgl/programs')
-rw-r--r-- | src/mbgl/programs/collision_box_program.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/programs/program.hpp | 6 | ||||
-rw-r--r-- | src/mbgl/programs/symbol_program.hpp | 6 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/mbgl/programs/collision_box_program.hpp b/src/mbgl/programs/collision_box_program.hpp index e9b69c639b..cd7f0bfd68 100644 --- a/src/mbgl/programs/collision_box_program.hpp +++ b/src/mbgl/programs/collision_box_program.hpp @@ -75,6 +75,7 @@ public: const SegmentVector<Attributes>& segments, const Binders& paintPropertyBinders, const typename PaintProperties::PossiblyEvaluated& currentProperties, + const TextureBindings& textureBindings, float currentZoom, const std::string& layerID) { typename AllUniforms::Values allUniformValues = uniformValues @@ -103,6 +104,7 @@ public: allUniformValues, vertexArrayIt->second, Attributes::offsetBindings(allAttributeBindings, segment.vertexOffset), + textureBindings, indexBuffer, segment.indexOffset, segment.indexLength); @@ -161,6 +163,7 @@ public: const SegmentVector<Attributes>& segments, const Binders& paintPropertyBinders, const typename PaintProperties::PossiblyEvaluated& currentProperties, + const TextureBindings& textureBindings, float currentZoom, const std::string& layerID) { typename AllUniforms::Values allUniformValues = uniformValues @@ -187,6 +190,7 @@ public: allUniformValues, vertexArrayIt->second, Attributes::offsetBindings(allAttributeBindings, segment.vertexOffset), + textureBindings, indexBuffer, segment.indexOffset, segment.indexLength); diff --git a/src/mbgl/programs/program.hpp b/src/mbgl/programs/program.hpp index 5ae918926e..e09fdb32d2 100644 --- a/src/mbgl/programs/program.hpp +++ b/src/mbgl/programs/program.hpp @@ -35,7 +35,9 @@ public: using PaintUniformList = typename Binders::UniformList; using AllUniforms = gl::Uniforms<TypeListConcat<UniformList, PaintUniformList>>; - using ProgramType = gl::Program<Primitive, Attributes, AllUniforms>; + using TextureBindings = gfx::TextureBindings<TextureList>; + + using ProgramType = gl::Program<Primitive, Attributes, AllUniforms, TextureBindings>; ProgramType program; @@ -80,6 +82,7 @@ public: const SegmentVector<Attributes>& segments, const typename AllUniforms::Values& allUniformValues, const typename Attributes::Bindings& allAttributeBindings, + const TextureBindings& textureBindings, const std::string& layerID) { for (auto& segment : segments) { auto vertexArrayIt = segment.vertexArrays.find(layerID); @@ -98,6 +101,7 @@ public: allUniformValues, vertexArrayIt->second, Attributes::offsetBindings(allAttributeBindings, segment.vertexOffset), + textureBindings, indexBuffer, segment.indexOffset, segment.indexLength); diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp index 4dce66ad4a..9c5bd01ef8 100644 --- a/src/mbgl/programs/symbol_program.hpp +++ b/src/mbgl/programs/symbol_program.hpp @@ -263,7 +263,9 @@ public: using PaintUniformList = typename Binders::UniformList; using AllUniforms = gl::Uniforms<TypeListConcat<UniformList, SizeUniformList, PaintUniformList>>; - using ProgramType = gl::Program<Primitive, Attributes, AllUniforms>; + using TextureBindings = gfx::TextureBindings<TextureList>; + + using ProgramType = gl::Program<Primitive, Attributes, AllUniforms, TextureBindings>; ProgramType program; @@ -315,6 +317,7 @@ public: const SegmentVector<Attributes>& segments, const typename AllUniforms::Values& allUniformValues, const typename Attributes::Bindings& allAttributeBindings, + const TextureBindings& textureBindings, const std::string& layerID) { for (auto& segment : segments) { auto vertexArrayIt = segment.vertexArrays.find(layerID); @@ -333,6 +336,7 @@ public: allUniformValues, vertexArrayIt->second, Attributes::offsetBindings(allAttributeBindings, segment.vertexOffset), + textureBindings, indexBuffer, segment.indexOffset, segment.indexLength); |