




















本文解析了 iOS 26 中液态玻璃效果的实现原理,包括折射机制和渗透效果的数学模型。
液态玻璃效果主要由两个核心组件构成:
iOS 的液态玻璃折射系统采用双层折射架构,包含内折射和外折射两个独立的处理层。
内折射是液态玻璃效果的核心组件,通过以下关键参数进行精确控制:

技术特性:
*图2c: 折射高度效果 - 大*
技术特性:
*图3: 离心效果 - 展示了具有离心效果的玻璃折射,可以看到从中心向外扩散的视觉效果*
实现机制:
*图4: 纯梯度效果 - 展示了没有离心效果的玻璃折射(仅SDF梯度),主要用于锁屏界面*
应用场景:
外折射是一个精细的视觉增强层,将周围环境的颜色信息折射到玻璃外侧边缘,增强材质的真实感和深度感。
*图5: 渗色效果 - 展示了渗色效果与模糊的配合,颜色会自然扩散*
渗色效果与高斯模糊协同工作,创造更加自然的光线扩散效果。
基于深入的逆向工程分析,折射系统的数学模型如下:
// 圆映射函数 - 使用1/4圆函数
float C(float x) {
return sqrt(1.0 - x * x); // 1/4圆函数
}
// 折射距离计算
float refractionDistance = C(1.0 - sdf / refractionHeight) * refractionAmount;
// 折射方向计算(需要归一化)
vec2 refractionDirection = normalize(sdfGradient + normalizedCenterOffset);
// 注意:移除 normalizedCenterOffset 可消除离心效果
// 最终坐标变换
vec2 refractedCoord = originalCoord + refractionDistance * refractionDirection;| 参数 | 类型 | 作用 | 取值范围 |
|---|---|---|---|
sdf | float | 有向距离场值 | [0, +∞) |
refractionHeight | float | 折射高度参数 | (0, +∞) |
refractionAmount | float | 折射强度 | (-∞, 0] |
sdfGradient | vec2 | SDF梯度向量 | 归一化向量 |
normalizedCenterOffset | vec2 | 中心偏移向量 | 归一化向量 |
渗透效果模拟了真实玻璃材质对不同颜色光线的选择性透过特性。高灰度值(偏白色)的内容更难穿透玻璃表面,产生类似塑料材质的”吸色”视觉效果。
渗透量对比 - 对比了无渗透效果和不同渗透量(-80, -110)下的视觉差异*
吸色效果 - 展示了"吸色"效果,玻璃左上角的"15"数字颜色被吸走*
混合效果 - 展示了50%折射+50%渗透的混合渲染效果*
渗透效果详细展示 - 展示了渗透系统的详细工作机制*
模糊集成 - 展示了叠加高斯模糊的渗透层效果*
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。