Add option to replace vanilla blur effect with Modern UI for optimization
Allow setting blur radius to 0 to disable blur
Add MinecraftSurfaceView to handle raw rendering calls
Ensure that all (native/GPU) resources are closed when the game exits
Slightly improve the Center UI
Fix a random crash when opening/closing UI frequently
Rework tooltip rendering
Add white noise to shadow
Add dithering to gradient colors
Use L1 norm instead of L2 norm for coverage antialiasing
Change shadow approximation method
Change default border radius and shadow alpha
Add new conditions for adding the extra space below tooltip title line
If the first three lines of the tooltip have different styles, we consider the first line as the title
Reduce the saturation of default tooltip colors
Allow using arrow keys to manually scroll the tooltip
Add small epsilon to text Z value for tooltip rendering to work around FP errors on some GPUs
Optimize blur effect
Use texelFetch instead of texture
Remove the additional blit pass and render target because we work around a Minecraft bug
Try to cache the shader program and temporary render target for blurring, and handle errors
Apply blur effect to the screen background instead of the world, just like Minecraft 1.21
Migrate to new rendering pipeline
Forge Extension 1.21.1
Equivalent to NeoForge version
Fabric Extension 1.21.1
Functionally equivalent to NeoForge version
Modern Text Engine 1.21.1
Add compatibility for bitmap fonts with custom text shader
Enable linear metrics and disable font hinting by default
Add config to change the minimum pixel density for SDF text
Fix some possible bugs on text rendering
Optimize text rendering
Add texture cleanup to FontResourceManager
Simplify text layout rendering code
Use Math.round for aligning pixels
Fix glyph info for FontSet compatibility
Rework and optimize bitmap font rendering
Try to stitch bitmap font into atlas
Try to discard bitmap fonts if they have negative metrics, transparent pixels, or huge metrics
Saturate glyph metrics for bitmap font
Fix hashCode and equals for correct de-duplication
Adjust lod bias for normal text shader
Adjust bitmap font to match vanilla behavior
Adjust glyph advance calculation
Adjust Unicode font loading behavior
Any reference to vanilla Unicode font and UNIHEX font will redirect to current ModernUI default typeface list
instead of system fonts, except for Minecraft default font set
Fix text layout bug when finding style transitions
Allow caching the missing glyph to atlas
Adopt full text rendering technology from core framework
Fix line breaker that may output no lines and keep consistency with vanilla behavior
This fix a bug with IBE Editor
Fix text strike cache invalidation for FontSet compatibility
This fix a bug with Create
Add text layout dump in advanced options
Add a command for debugging line breaker
Add methods for debugging text engine
Work around AMD driver bug before GCN 1
Change the initial size of A8 font atlas to 2048x2048
Fix crash when compacting font atlas
Core Framework
Enable linear text by default, increase layout cache limit
Delete render thread executor
Delete old text rendering code
Add GradientDrawable that draw shapes with gradient colors
Update/fix ShapeDrawable with latest rendering pipeline
Add set/get ColorFilter to Drawable and ImageView Add ImageView.setImageTintBlendMode
Rework ImageDrawable.setSrcRect() method
Update ImageDrawable with antialias, dither, filter, and tile modes
Add setter/getter to change blend mode for edge effect
Change default blend mode for EdgeEffect from SRC_OVER to SRC_ATOP
Fix Matrix.mapRect()
Fix EdgeEffect centerX
Improve text rendering
Add AngularGradient API and implementation
Add RadialGradient API and implementation
Add LinearGradient API and implementation
Add GradientShader API and implementation
Add new draw methods to Canvas class
Add BlendModeColorFilter and make it work finally, default blend mode for ImageDrawable is SRC_IN
Add ColorFilter class that can be installed on Paint
Refactor Image class and fix Image.close() issue
Refactor Paint class
Add ImageShader class
Add Shader class that can be installed on Paint
Add TextView.setTextSize() that specifies a unit, default is sp
Full migration to the new rendering pipeline, Arc3D Granite Renderer; delete old GLSurfaceCanvas
Avoid re-layout on window minimized, since framebuffer is destroyed and size is 0
Deprecate Canvas.saveLayer() for future layer compositor and render tree
Core Framework - Kotlin Extension
No changes
Markdown Extension
No changes
Arc3D Graphics Engine
Remove old usage of Image.getSurfaceFlags
Add Image.getUniqueID() and static methods to create raster images
Add utility NoDrawCanvas NWayCanvas and PaintFilterCanvas
Fix Matrix.mapRect() is not correct
Fix compiler error
Optimize text ops if subRunToDevice is translation-only and pipeline does not require local coords trivially
Optimize matrix computation for text ops
Replace Matrix4 in rendering code with Matrix
Make Matrix4() construct an identity matrix, and Matrix4.identity() return a read-only identity matrix
Add option to replace vanilla blur effect with Modern UI for optimization
Allow setting blur radius to 0 to disable blur
Add MinecraftSurfaceView to handle raw rendering calls
Ensure that all (native/GPU) resources are closed when the game exits
Slightly improve the Center UI
Fix a random crash when opening/closing UI frequently
Rework tooltip rendering
Add white noise to shadow
Add dithering to gradient colors
Use L1 norm instead of L2 norm for coverage antialiasing
Change shadow approximation method
Change default border radius and shadow alpha
Add new conditions for adding the extra space below tooltip title line
If the first three lines of the tooltip have different styles, we consider the first line as the title
Reduce the saturation of default tooltip colors
Allow using arrow keys to manually scroll the tooltip
Add small epsilon to text Z value for tooltip rendering to work around FP errors on some GPUs
Optimize blur effect
Use texelFetch instead of texture
Remove the additional blit pass and render target because we work around a Minecraft bug
Try to cache the shader program and temporary render target for blurring, and handle errors
Apply blur effect to the screen background instead of the world, just like Minecraft 1.21
Migrate to new rendering pipeline
Forge Extension 1.20.6
Equivalent to NeoForge version
Fabric Extension 1.20.6
Functionally equivalent to NeoForge version
Modern Text Engine 1.20.6
Add compatibility for bitmap fonts with custom text shader
Enable linear metrics and disable font hinting by default
Add config to change the minimum pixel density for SDF text
Fix some possible bugs on text rendering
Optimize text rendering
Add texture cleanup to FontResourceManager
Simplify text layout rendering code
Use Math.round for aligning pixels
Fix glyph info for FontSet compatibility
Rework and optimize bitmap font rendering
Try to stitch bitmap font into atlas
Try to discard bitmap fonts if they have negative metrics, transparent pixels, or huge metrics
Saturate glyph metrics for bitmap font
Fix hashCode and equals for correct de-duplication
Adjust lod bias for normal text shader
Adjust bitmap font to match vanilla behavior
Adjust glyph advance calculation
Adjust Unicode font loading behavior
Any reference to vanilla Unicode font and UNIHEX font will redirect to current ModernUI default typeface list
instead of system fonts, except for Minecraft default font set
Fix text layout bug when finding style transitions
Allow caching the missing glyph to atlas
Adopt full text rendering technology from core framework
Fix line breaker that may output no lines and keep consistency with vanilla behavior
This fix a bug with IBE Editor
Fix text strike cache invalidation for FontSet compatibility
This fix a bug with Create
Add text layout dump in advanced options
Add a command for debugging line breaker
Add methods for debugging text engine
Work around AMD driver bug before GCN 1
Change the initial size of A8 font atlas to 2048x2048
Fix crash when compacting font atlas
Core Framework
Enable linear text by default, increase layout cache limit
Delete render thread executor
Delete old text rendering code
Add GradientDrawable that draw shapes with gradient colors
Update/fix ShapeDrawable with latest rendering pipeline
Add set/get ColorFilter to Drawable and ImageView Add ImageView.setImageTintBlendMode
Rework ImageDrawable.setSrcRect() method
Update ImageDrawable with antialias, dither, filter, and tile modes
Add setter/getter to change blend mode for edge effect
Change default blend mode for EdgeEffect from SRC_OVER to SRC_ATOP
Fix Matrix.mapRect()
Fix EdgeEffect centerX
Improve text rendering
Add AngularGradient API and implementation
Add RadialGradient API and implementation
Add LinearGradient API and implementation
Add GradientShader API and implementation
Add new draw methods to Canvas class
Add BlendModeColorFilter and make it work finally, default blend mode for ImageDrawable is SRC_IN
Add ColorFilter class that can be installed on Paint
Refactor Image class and fix Image.close() issue
Refactor Paint class
Add ImageShader class
Add Shader class that can be installed on Paint
Add TextView.setTextSize() that specifies a unit, default is sp
Full migration to the new rendering pipeline, Arc3D Granite Renderer; delete old GLSurfaceCanvas
Avoid re-layout on window minimized, since framebuffer is destroyed and size is 0
Deprecate Canvas.saveLayer() for future layer compositor and render tree
Core Framework - Kotlin Extension
No changes
Markdown Extension
No changes
Arc3D Graphics Engine
Remove old usage of Image.getSurfaceFlags
Add Image.getUniqueID() and static methods to create raster images
Add utility NoDrawCanvas NWayCanvas and PaintFilterCanvas
Fix Matrix.mapRect() is not correct
Fix compiler error
Optimize text ops if subRunToDevice is translation-only and pipeline does not require local coords trivially
Optimize matrix computation for text ops
Replace Matrix4 in rendering code with Matrix
Make Matrix4() construct an identity matrix, and Matrix4.identity() return a read-only identity matrix
Add MinecraftSurfaceView to handle raw rendering calls
Ensure that all (native/GPU) resources are closed when the game exits
Slightly improve the Center UI
Fix a random crash when opening/closing UI frequently
Rework tooltip rendering
Add white noise to shadow
Add dithering to gradient colors
Use L1 norm instead of L2 norm for coverage antialiasing
Change shadow approximation method
Change default border radius and shadow alpha
Add new conditions for adding the extra space below tooltip title line
If the first three lines of the tooltip have different styles, we consider the first line as the title
Reduce the saturation of default tooltip colors
Allow using arrow keys to manually scroll the tooltip
Add small epsilon to text Z value for tooltip rendering to work around FP errors on some GPUs
Optimize blur effect
Use texelFetch instead of texture
Remove the additional blit pass and render target because we work around a Minecraft bug
Try to cache the shader program and temporary render target for blurring, and handle errors
Apply blur effect to the screen background instead of the world, just like Minecraft 1.21
Migrate to new rendering pipeline
Forge Extension 1.20.4
Equivalent to NeoForge version
Fabric Extension 1.20.4
Functionally equivalent to NeoForge version
Modern Text Engine 1.20.4
Add compatibility for bitmap fonts with custom text shader
Enable linear metrics and disable font hinting by default
Add config to change the minimum pixel density for SDF text
Fix some possible bugs on text rendering
Optimize text rendering
Add texture cleanup to FontResourceManager
Simplify text layout rendering code
Use Math.round for aligning pixels
Fix glyph info for FontSet compatibility
Rework and optimize bitmap font rendering
Try to stitch bitmap font into atlas
Try to discard bitmap fonts if they have negative metrics, transparent pixels, or huge metrics
Saturate glyph metrics for bitmap font
Fix hashCode and equals for correct de-duplication
Adjust lod bias for normal text shader
Adjust bitmap font to match vanilla behavior
Adjust glyph advance calculation
Adjust Unicode font loading behavior
Any reference to vanilla Unicode font and UNIHEX font will redirect to current ModernUI default typeface list
instead of system fonts, except for Minecraft default font set
Fix text layout bug when finding style transitions
Allow caching the missing glyph to atlas
Adopt full text rendering technology from core framework
Fix line breaker that may output no lines and keep consistency with vanilla behavior
This fix a bug with IBE Editor
Fix text strike cache invalidation for FontSet compatibility
This fix a bug with Create
Add text layout dump in advanced options
Add a command for debugging line breaker
Add methods for debugging text engine
Core Framework
Enable linear text by default, increase layout cache limit
Delete render thread executor
Delete old text rendering code
Add GradientDrawable that draw shapes with gradient colors
Update/fix ShapeDrawable with latest rendering pipeline
Add set/get ColorFilter to Drawable and ImageView Add ImageView.setImageTintBlendMode
Rework ImageDrawable.setSrcRect() method
Update ImageDrawable with antialias, dither, filter, and tile modes
Add setter/getter to change blend mode for edge effect
Change default blend mode for EdgeEffect from SRC_OVER to SRC_ATOP
Fix Matrix.mapRect()
Fix EdgeEffect centerX
Improve text rendering
Add AngularGradient API and implementation
Add RadialGradient API and implementation
Add LinearGradient API and implementation
Add GradientShader API and implementation
Add new draw methods to Canvas class
Add BlendModeColorFilter and make it work finally, default blend mode for ImageDrawable is SRC_IN
Add ColorFilter class that can be installed on Paint
Refactor Image class and fix Image.close() issue
Refactor Paint class
Add ImageShader class
Add Shader class that can be installed on Paint
Add TextView.setTextSize() that specifies a unit, default is sp
Full migration to the new rendering pipeline, Arc3D Granite Renderer; delete old GLSurfaceCanvas
Avoid re-layout on window minimized, since framebuffer is destroyed and size is 0
Deprecate Canvas.saveLayer() for future layer compositor and render tree
Core Framework - Kotlin Extension
No changes
Markdown Extension
No changes
Arc3D Graphics Engine
Remove old usage of Image.getSurfaceFlags
Add Image.getUniqueID() and static methods to create raster images
Add utility NoDrawCanvas NWayCanvas and PaintFilterCanvas
Fix Matrix.mapRect() is not correct
Fix compiler error
Optimize text ops if subRunToDevice is translation-only and pipeline does not require local coords trivially
Optimize matrix computation for text ops
Replace Matrix4 in rendering code with Matrix
Make Matrix4() construct an identity matrix, and Matrix4.identity() return a read-only identity matrix
Add MinecraftSurfaceView to handle raw rendering calls
Ensure that all (native/GPU) resources are closed when the game exits
Slightly improve the Center UI
Fix a random crash when opening/closing UI frequently
Rework tooltip rendering
Add white noise to shadow
Add dithering to gradient colors
Use L1 norm instead of L2 norm for coverage antialiasing
Change shadow approximation method
Change default border radius and shadow alpha
Add new conditions for adding the extra space below tooltip title line
If the first three lines of the tooltip have different styles, we consider the first line as the title
Reduce the saturation of default tooltip colors
Allow using arrow keys to manually scroll the tooltip
Add small epsilon to text Z value for tooltip rendering to work around FP errors on some GPUs
Optimize blur effect
Use texelFetch instead of texture
Remove the additional blit pass and render target because we work around a Minecraft bug
Try to cache the shader program and temporary render target for blurring, and handle errors
Apply blur effect to the screen background instead of the world, just like Minecraft 1.20.6
Migrate to new rendering pipeline
Fabric Extension 1.20.1
Add support for Minecraft 1.20
Fix key binding not working in some cases
Others are functionally equivalent to Forge version
Modern Text Engine 1.20.1
Add compatibility for bitmap fonts with custom text shader
Enable linear metrics and disable font hinting by default
Add config to change the minimum pixel density for SDF text
Fix some possible bugs on text rendering
Optimize text rendering
Add texture cleanup to FontResourceManager
Simplify text layout rendering code
Use Math.round for aligning pixels
Fix glyph info for FontSet compatibility
Rework and optimize bitmap font rendering
Try to stitch bitmap font into atlas
Try to discard bitmap fonts if they have negative metrics, transparent pixels, or huge metrics
Saturate glyph metrics for bitmap font
Fix hashCode and equals for correct de-duplication
Adjust lod bias for normal text shader
Adjust bitmap font to match vanilla behavior
Adjust glyph advance calculation
Adjust Unicode font loading behavior
Any reference to vanilla Unicode font and UNIHEX font will redirect to current ModernUI default typeface list
instead of system fonts, except for Minecraft default font set
Fix text layout bug when finding style transitions
Allow caching the missing glyph to atlas
Adopt full text rendering technology from core framework
Fix line breaker that may output no lines and keep consistency with vanilla behavior
This fix a bug with IBE Editor
Fix text strike cache invalidation for FontSet compatibility
This fix a bug with Create
Add text layout dump in advanced options
Add a command for debugging line breaker
Add methods for debugging text engine
Core Framework
Enable linear text by default, increase layout cache limit
Delete render thread executor
Delete old text rendering code
Add GradientDrawable that draw shapes with gradient colors
Update/fix ShapeDrawable with latest rendering pipeline
Add set/get ColorFilter to Drawable and ImageView Add ImageView.setImageTintBlendMode
Rework ImageDrawable.setSrcRect() method
Update ImageDrawable with antialias, dither, filter, and tile modes
Add setter/getter to change blend mode for edge effect
Change default blend mode for EdgeEffect from SRC_OVER to SRC_ATOP
Fix Matrix.mapRect()
Fix EdgeEffect centerX
Improve text rendering
Add AngularGradient API and implementation
Add RadialGradient API and implementation
Add LinearGradient API and implementation
Add GradientShader API and implementation
Add new draw methods to Canvas class
Add BlendModeColorFilter and make it work finally, default blend mode for ImageDrawable is SRC_IN
Add ColorFilter class that can be installed on Paint
Refactor Image class and fix Image.close() issue
Refactor Paint class
Add ImageShader class
Add Shader class that can be installed on Paint
Add TextView.setTextSize() that specifies a unit, default is sp
Full migration to the new rendering pipeline, Arc3D Granite Renderer; delete old GLSurfaceCanvas
Avoid re-layout on window minimized, since framebuffer is destroyed and size is 0
Deprecate Canvas.saveLayer() for future layer compositor and render tree
Core Framework - Kotlin Extension
No changes
Markdown Extension
No changes
Arc3D Graphics Engine
Remove old usage of Image.getSurfaceFlags
Add Image.getUniqueID() and static methods to create raster images
Add utility NoDrawCanvas NWayCanvas and PaintFilterCanvas
Fix Matrix.mapRect() is not correct
Fix compiler error
Optimize text ops if subRunToDevice is translation-only and pipeline does not require local coords trivially
Optimize matrix computation for text ops
Replace Matrix4 in rendering code with Matrix
Make Matrix4() construct an identity matrix, and Matrix4.identity() return a read-only identity matrix