Tint Blend Mode
基本信息
com.mitchej123.supernova.client.TintBlendMode —— 方块光与天光的着色混合算法。
全部 6 个常量
每个都是带匿名类体的枚举常量(各自覆写计算逻辑):
| 常量 | 起始行 | 含义 |
|---|---|---|
ADDITIVE |
12 | 相加 |
SQUARED_WEIGHT |
29 | 默认 —— 平方权重 |
LINEAR_WEIGHT |
59 | 线性权重 |
OKLAB |
87 | Oklab 色彩空间混合 |
VIVID |
145 | 高饱和度取向 |
默认值
public static volatile TintBlendMode current = SQUARED_WEIGHT; // 第 182 行
与 Supernova Client Config 的
@Config.DefaultEnum("SQUARED_WEIGHT") 一致 ——
两处都写 SQUARED_WEIGHT,不是一处 LINEAR 之类的偏差。
volatile表示可在运行期切换(配合/csupernova等调试手段)。
计算接口
public final void computeTint(float br, float bg, float bb,
float sr, float sg, float sb, float[] out) // 第 203 行
| 参数 | 含义 |
|---|---|
br, bg, bb |
方块光(block light)RGB |
sr, sg, sb |
天光(sky light)RGB |
out |
输出数组(长度 3) |
final 表示算法本身不可覆写,差异由各常量的匿名类实现。
相关条目
源码
src/main/java/com/mitchej123/supernova/client/TintBlendMode.java