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