缩放算法:
注意: 原版 jar 文件中的着色器是用的 GLSL 版本是 110,本文为保持一致也将使用该版本。不过,由于 Minecraft 需要 OpenGL 4.4,你可以放心地使用最高到 440 版本的 GLSL。版本需要在 GLSL 代码的开头声明(可以看示例)。
标量
bool: 布尔值 true / false
int / unit: 有符号 / 无符号 32 位整型数字
float / double: 单精度 / 双精度浮点数
向量
bven、iven、uvecn、vecn、dvecn: 分别代表由 > n 个 bool、int、uint、float 或 double 组成的向量
n 必须为 2、3 或 4。
矩阵
matn: 由 float 组成的矩阵,大小为 n × n
matnxm: 由 float 组成的矩阵,大小为 n × m
n 和 m 都必须为 2、3 或 4。
矩阵是列优先的(3×2 = 3 列,2 行)。
如果你选择了更高版本的 GLSL,该部分在 GLSL 140 及以上版本有所改动。见:https://www.khronos.org/opengl/wiki/Type_Qualifier_(GLSL)#Shader_stage_inputs_and_outputs。
光照等级
远离光源并且不在太阳照射下的方块或实体会变暗。
可以用夜视效果或光源避免。
面阴影
顶面是最亮的,其次是北面和南面,再其次是东面和西面,最暗的是底面。方块和实体都受到这一影响。
若想为方块禁用该阴影效果,可以在模型中将每个元素(element)设置为 "shade": false。
不能为实体禁用!
环境遮挡(「平滑光照」)
角落会变暗。只有方块受到这一影响。
若想为方块禁用该阴影效果,可以在模型中设置 "ambientocclusion":false。
brooke_zb 发表于 2019-9-28 19:50
原版着色器在国内几乎没有什么应用案例,如果能推广开来的话在冒险地图等应用上会有更多花样吧2333
@爱心 ...
爱心大魔王 发表于 2019-9-28 20:58
版主用户组不可以版外加贡献的,你12级都没用的,我怕被混乱记过
谢谢如此详细的翻译!
这个是我以前做的。现在有了发光,很希望能够以此想出什么新的东西!
a8319c389b504fc2800bf811eddde71190ef6d69[1].jpg (104.42 KB, 下载次数: 3)
欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/) | Powered by Discuz! X3.5 |