diff --git a/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt b/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt index fa3a2c1..85ee572 100644 --- a/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt +++ b/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt @@ -213,8 +213,7 @@ class AssSubtitleTextureView : TextureView, AssSubtitleRender, TextureView.Surfa uniform vec4 u_Color; void main() { float alpha = texture2D(u_Texture, v_TexCoord).a; - gl_FragColor = u_Color * alpha; - + gl_FragColor = vec4(u_Color.rgb, u_Color.a * alpha); } """.trimIndent() @@ -290,7 +289,7 @@ class AssSubtitleTextureView : TextureView, AssSubtitleRender, TextureView.Surfa // enable blend GLES20.glEnable(GLES20.GL_BLEND) // set blend mode - GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA) + GLES20.glBlendFuncSeparate(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA, GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA) } override fun onSurfaceChanged(width: Int, height: Int) {