diff options
author | 2022-11-09 22:34:21 +0000 | |
---|---|---|
committer | 2022-11-09 22:34:21 +0000 | |
commit | c995bbbf5f323bc1eb5d93556d2ee9e3854607a0 (patch) | |
tree | 03ae07a784992ab3e250e0cece69797a701a8af2 /cmds/bootanimation/BootAnimation.cpp | |
parent | 92fa570dd9642470abaf2cec3ac00382dd9a59d2 (diff) | |
parent | 03a7f370bc89096379489920c2225daef74029d2 (diff) |
Merge "Fix boot animation alpha multiplication computations" into tm-qpr-dev am: b1b275b032 am: 03a7f370bc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20414907
Change-Id: Ib65162c7a87d213f592ffcfb3286e263bf6cce0c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'cmds/bootanimation/BootAnimation.cpp')
-rw-r--r-- | cmds/bootanimation/BootAnimation.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index 8be8cdacfc84..c4d90c6295aa 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -130,14 +130,14 @@ static const char IMAGE_FRAG_DYNAMIC_COLORING_SHADER_SOURCE[] = R"( uniform sampler2D uTexture; uniform float uFade; uniform float uColorProgress; - uniform vec4 uStartColor0; - uniform vec4 uStartColor1; - uniform vec4 uStartColor2; - uniform vec4 uStartColor3; - uniform vec4 uEndColor0; - uniform vec4 uEndColor1; - uniform vec4 uEndColor2; - uniform vec4 uEndColor3; + uniform vec3 uStartColor0; + uniform vec3 uStartColor1; + uniform vec3 uStartColor2; + uniform vec3 uStartColor3; + uniform vec3 uEndColor0; + uniform vec3 uEndColor1; + uniform vec3 uEndColor2; + uniform vec3 uEndColor3; varying highp vec2 vUv; void main() { vec4 mask = texture2D(uTexture, vUv); @@ -150,12 +150,12 @@ static const char IMAGE_FRAG_DYNAMIC_COLORING_SHADER_SOURCE[] = R"( * step(cWhiteMaskThreshold, g) * step(cWhiteMaskThreshold, b) * step(cWhiteMaskThreshold, a); - vec4 color = r * mix(uStartColor0, uEndColor0, uColorProgress) + vec3 color = r * mix(uStartColor0, uEndColor0, uColorProgress) + g * mix(uStartColor1, uEndColor1, uColorProgress) + b * mix(uStartColor2, uEndColor2, uColorProgress) + a * mix(uStartColor3, uEndColor3, uColorProgress); - color = mix(color, vec4(vec3((r + g + b + a) * 0.25), 1.0), useWhiteMask); - gl_FragColor = vec4(color.x, color.y, color.z, (1.0 - uFade)) * color.a; + color = mix(color, vec3((r + g + b + a) * 0.25), useWhiteMask); + gl_FragColor = vec4(color.x, color.y, color.z, (1.0 - uFade)); })"; static const char IMAGE_FRAG_SHADER_SOURCE[] = R"( precision mediump float; @@ -1439,12 +1439,12 @@ void BootAnimation::initDynamicColors() { for (int i = 0; i < DYNAMIC_COLOR_COUNT; i++) { float *startColor = mAnimation->startColors[i]; float *endColor = mAnimation->endColors[i]; - glUniform4f(glGetUniformLocation(mImageShader, + glUniform3f(glGetUniformLocation(mImageShader, (U_START_COLOR_PREFIX + std::to_string(i)).c_str()), - startColor[0], startColor[1], startColor[2], 1 /* alpha */); - glUniform4f(glGetUniformLocation(mImageShader, + startColor[0], startColor[1], startColor[2]); + glUniform3f(glGetUniformLocation(mImageShader, (U_END_COLOR_PREFIX + std::to_string(i)).c_str()), - endColor[0], endColor[1], endColor[2], 1 /* alpha */); + endColor[0], endColor[1], endColor[2]); } mImageColorProgressLocation = glGetUniformLocation(mImageShader, U_COLOR_PROGRESS); } |