summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/fill_extrusion_program.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/programs/fill_extrusion_program.cpp')
-rw-r--r--src/mbgl/programs/fill_extrusion_program.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mbgl/programs/fill_extrusion_program.cpp b/src/mbgl/programs/fill_extrusion_program.cpp
index d22e911589..7209072b02 100644
--- a/src/mbgl/programs/fill_extrusion_program.cpp
+++ b/src/mbgl/programs/fill_extrusion_program.cpp
@@ -32,13 +32,14 @@ float lightIntensity(const EvaluatedLight& light) {
}
FillExtrusionProgram::LayoutUniformValues FillExtrusionProgram::layoutUniformValues(
- mat4 matrix, const TransformState& state, const float opacity, const EvaluatedLight& light) {
+ mat4 matrix, const TransformState& state, const float opacity, const EvaluatedLight& light, const float verticalGradient) {
return {
uniforms::matrix::Value( matrix ),
uniforms::opacity::Value( opacity ),
uniforms::lightcolor::Value( lightColor(light) ),
uniforms::lightpos::Value( lightPosition(light, state) ),
- uniforms::lightintensity::Value( lightIntensity(light) )
+ uniforms::lightintensity::Value( lightIntensity(light) ),
+ uniforms::vertical_gradient::Value( verticalGradient )
};
}
@@ -51,7 +52,8 @@ FillExtrusionPatternProgram::layoutUniformValues(mat4 matrix,
const float opacity,
const float heightFactor,
const float pixelRatio,
- const EvaluatedLight& light) {
+ const EvaluatedLight& light,
+ const float verticalGradient) {
const auto tileRatio = 1 / tileID.pixelsToTileUnits(1, state.getIntegerZoom());
int32_t tileSizeAtNearestZoom = util::tileSize * state.zoomScale(state.getIntegerZoom() - tileID.canonical.z);
int32_t pixelX = tileSizeAtNearestZoom * (tileID.canonical.x + tileID.wrap * state.zoomScale(tileID.canonical.z));
@@ -69,6 +71,7 @@ FillExtrusionPatternProgram::layoutUniformValues(mat4 matrix,
uniforms::lightcolor::Value( lightColor(light) ),
uniforms::lightpos::Value( lightPosition(light, state) ),
uniforms::lightintensity::Value( lightIntensity(light) ),
+ uniforms::vertical_gradient::Value( verticalGradient )
};
}