如何在 Minecraft 中加入元素视野效果(二)

2023-06-30 07:26:18 来源:哔哩哔哩

五、游戏处理

上一章中,我们实现了一个简单的光影,它可以将画面上的红色与蓝色互换。而为了实现这一效果,我们需要获取当前位置的颜色,并将颜色的 r 与 b 属性调换位置。


(相关资料图)

在 Minecraft 运行中,首先会在世界中生成大量的事物,其中有方块、动物、水流,玩家、甚至是天空,游戏程序决定了这些事物在世界中的位置、状态、是否可见等等。

除此之外,我们还需要让玩家进入此世界中,为此我们还应该将玩家的模型添加到世界。值得一提的是,在游戏编程中,为了让玩家看到画面,除了拥有模型以外,还需要一个摄像机,它将充当玩家的眼睛,用于作为观察世界的起点,通过设置摄像机的属性,来决定画面需要渲染哪些东西。

幸运的是,以上都已经由 Minecraft 实现,我们只需要关注其中画面的渲染。当游戏将世界处理好以后,游戏的图像数据将发送至显卡做进一步处理。

六、图形处理

当游戏处理完它负责的部分后,图形数据将发送至显卡。而在显卡中指挥工作的正是光影中包含的许多着色器程序。但是并不是全部,事实上还有某些预处理以及后处理工作已经由游戏引擎提供,我们需要编写的着色器仅仅是在过程之间的一个小步骤。

最终到达我们的第一个着色器(vsh)中的数据包含整个画面颜色的当前位置,另一个(fsh)则包含整个画面的颜色值。为了将每一个画面颜色都照顾到,这两个着色器将依次为每个颜色都运行一次。

在每次运行的过程中,我们可以简单取到当前处理所需的相关属性,比如从 gl_MultiTexCoord0 缓冲区中取当前颜色所在的坐标 xy,或者从 gcolor 缓冲区中取指定坐标位置的颜色。

当然,这里的坐标不是指游戏坐标,而是颜色在画面上的坐标,比如 (0, 0) 代表画面的左下角。

七、滤镜

在原神中开启元素视野时,画面将被加上一个特定的绿色滤镜,此时画面将变成偏暗的蓝绿色,并且有一条亮色带从玩家的位置开始一直移动至远方。这里我们可以把亮色带放一边,先试着将画面调成偏暗的蓝绿色。

对画面进行取色(不包括亮色带部分)可以大致得出,滤镜让红色取值大概在 [0, 45] 区间,由于颜色最大值为 255 ,简单起见,我们可以认为红色被对应缩放到 1/5,而其他两种颜色则是 1/2。

在着色器中的主函数加入代码,对相应颜色进行计算。由于 Minecraft 中的基础亮度与原神中有些许不同,我们可以对这个比值进行少许调整,将绿蓝的比值改为 7/10,以提高亮度,还原色彩差异。

如果你有足够的耐心,也可以一次一次修改,或者直接使用一个函数表达式,对色彩进行微调,以达到高度还原的效果。

标签

郴州安仁文旅项目集中开工 总投资1000万元

3月16日,安仁县举行文旅项目集中开工活动,县委书记王洪灿在开工仪式上宣布:湘南起义旧址群——朱毛井...

2022-03-20 15:40:46

2022年郴州计划重点推进文旅项目101个 总投资354亿元

3月16日,我市举行全市文旅项目和城市大提质大融城项目集中开工仪式,市委书记吴巨培宣布项目开工。郴州...

2022-03-20 15:39:41

宿州泗县深入推进文旅融合发展 擦亮城市品牌

近年来,泗县以争创安徽省文化旅游名县为目标,深入推进文旅融合发展,努力擦亮水韵泗州 运河名城城市...

2022-03-20 15:38:59

汽车零部件产业“领头羊” 锦州力争一季度“开门红”

3月16日,记者从锦州汽车零部件产业的领头羊——锦州万得集团获悉,今年前两个月,企业订单充足,正铆足...

2022-03-20 15:37:41

油价或有望冲击“九元”大关 宁波新能源汽车市场如何

新一轮国内成品油调价窗口于3月17日24时开启,油价或有望冲击九元大关。前一天晚上11点,鄞州区不少加油...

2022-03-20 15:34:38

从水塘到“云”端 全国最大高邮鸭养殖基地实现智慧养殖

随着新一代数字技术的蓬勃发展,以新兴技术推动现代化新农村建设正成为助力乡村振兴的重要手段。1个人能...

2022-03-20 15:33:17

淡季不忘引流 京郊民宿市场有望迎来回暖

旅游淡季中的京郊民宿有望成为市场中最先复苏的板块。3月17日,北京商报记者调查发现,虽然正值旅游淡季...

2022-03-20 15:32:01

镇江乡村一二三产业融合发展 闯出“镇江之路”

从烹饪江鲜河豚的个体小饭店到规模化的江岛乡村旅游产业集群,从白兔草莓丁庄葡萄的单个农户种植到茅山...

2022-03-20 15:31:11

总投资30亿元 盐城东台8个重大产业项目相继开工

总投资30亿元的精密电子元器件项目、同益电子项目,总投资10亿元的金利美精密组件项目、天永智能设备项...

2022-03-20 15:30:13

去年南京规上信息软件业企业实现营收7577.28亿元 同比增长10.3%

市统计局最新统计数据显示,2021年,我市规模以上信息软件业企业共1662家,较上年同期增加321家,实现营...

2022-03-20 15:28:57
x 广告
x 广告

Copyright  2015-2022 大西洋粮油网版权所有  备案号:沪ICP备2020036824号-2   联系邮箱: 562 66 29@qq.com