diff options
Diffstat (limited to 'src/mbgl/programs/gl/hillshade_prepare.cpp')
-rw-r--r-- | src/mbgl/programs/gl/hillshade_prepare.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mbgl/programs/gl/hillshade_prepare.cpp b/src/mbgl/programs/gl/hillshade_prepare.cpp index 1aef64293b..81f0296763 100644 --- a/src/mbgl/programs/gl/hillshade_prepare.cpp +++ b/src/mbgl/programs/gl/hillshade_prepare.cpp @@ -15,7 +15,7 @@ struct ShaderSource; template <> struct ShaderSource<HillshadePrepareProgram> { static constexpr const char* name = "hillshade_prepare"; - static constexpr const uint8_t hash[8] = { 0xe6, 0x01, 0xf2, 0xbb, 0xa0, 0x77, 0x1d, 0xeb }; + static constexpr const uint8_t hash[8] = { 0xbd, 0xa0, 0x8a, 0x88, 0x91, 0xe3, 0x73, 0x66 }; static constexpr const auto vertexOffset = 27698; static constexpr const auto fragmentOffset = 27991; }; @@ -68,11 +68,13 @@ varying vec2 v_pos; uniform vec2 u_dimension; uniform float u_zoom; uniform float u_maxzoom; +uniform vec4 u_unpack; float getElevation(vec2 coord, float bias) { // Convert encoded elevation value to meters vec4 data = texture2D(u_image, coord) * 255.0; - return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0; + data.a = -1.0; + return dot(data, u_unpack) / 4.0; } void main() { |