Skip to content

Commit 61d0534

Browse files
Merge pull request #16 from Live2D/develop
Update to Cubism 5 SDK for Java R5 beta1_1
2 parents 5920508 + 929b7fe commit 61d0534

14 files changed

+163
-283
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

77

8+
## [5-r.5-beta.1.1] - 2026-02-19
9+
10+
### Fixed
11+
12+
* Fix clipping mask pre-processing by consolidating functions.
13+
* Fix a bug where offscreen rendering results were not as expected when premultiplied alpha was disabled.
14+
* Fix a bug where rendering results were not as expected when using Blend mode on semi-transparent objects.
15+
16+
817
## [5-r.5-beta.1] - 2026-01-29
918

1019
### Added
@@ -292,6 +301,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
292301
* New released!
293302

294303

304+
[5-r.5-beta.1.1]: https://github.com/Live2D/CubismJavaFramework/compare/5-r.5-beta.1...5-r.5-beta.1.1
295305
[5-r.5-beta.1]: https://github.com/Live2D/CubismJavaFramework/compare/5-r.4.1...5-r.5-beta.1
296306
[5-r.4.1]: https://github.com/Live2D/CubismJavaFramework/compare/5-r.4...5-r.4.1
297307
[5-r.4]: https://github.com/Live2D/CubismJavaFramework/compare/5-r.3...5-r.4

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskBlend.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void main()
3232
vec4 col_formask = texColor * u_baseColor;
3333
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3434
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
35-
vec4 colorSource = col_formask * maskVal;
35+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * maskVal);
3636
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3737
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3838
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskBlendTegra.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void main()
3333
vec4 col_formask = texColor * u_baseColor;
3434
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3535
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
36-
vec4 colorSource = col_formask * maskVal;
36+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * maskVal);
3737
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3838
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3939
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskInvertedBlend.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void main()
3232
vec4 col_formask = texColor * u_baseColor;
3333
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3434
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
35-
vec4 colorSource = col_formask * (1.0 - maskVal);
35+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * (1.0 - maskVal));
3636
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3737
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3838
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskInvertedBlendTegra.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void main()
3333
vec4 col_formask = texColor * u_baseColor;
3434
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3535
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
36-
vec4 colorSource = col_formask * (1.0 - maskVal);
36+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * (1.0 - maskVal));
3737
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3838
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3939
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskInvertedPremultipliedAlphaBlend.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void main()
3232
vec4 col_formask = ConvertPremultipliedToStraight(texColor * u_baseColor);
3333
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3434
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
35-
vec4 colorSource = col_formask * (1.0 - maskVal);
35+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * (1.0 - maskVal));
3636
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3737
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3838
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskInvertedPremultipliedAlphaBlendTegra.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void main()
3333
vec4 col_formask = ConvertPremultipliedToStraight(texColor * u_baseColor);
3434
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3535
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
36-
vec4 colorSource = col_formask * (1.0 - maskVal);
36+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * (1.0 - maskVal));
3737
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3838
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3939
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskPremultipliedAlphaBlend.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void main()
3232
vec4 col_formask = ConvertPremultipliedToStraight(texColor * u_baseColor);
3333
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3434
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
35-
vec4 colorSource = col_formask * maskVal;
35+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * maskVal);
3636
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3737
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3838
}

framework/src/main/assets/com/live2d/sdk/cubism/framework/shaders/standardES/FragShaderSrcMaskPremultipliedAlphaBlendTegra.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void main()
3333
vec4 col_formask = ConvertPremultipliedToStraight(texColor * u_baseColor);
3434
vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;
3535
float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;
36-
vec4 colorSource = col_formask * maskVal;
36+
vec4 colorSource = vec4(col_formask.rgb, col_formask.a * maskVal);
3737
vec4 colorDestination = ConvertPremultipliedToStraight(texture2D(s_blendTexture, v_blendCoord));
3838
gl_FragColor = AlphaBlend(ColorBlend(colorSource.rgb, colorDestination.rgb), colorSource, colorDestination);
3939
}

0 commit comments

Comments
 (0)