diff options
Diffstat (limited to 'src/mbgl/programs/fill_extrusion_program.cpp')
-rw-r--r-- | src/mbgl/programs/fill_extrusion_program.cpp | 9 |
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 ) }; } |