
照明API
制作聚光灯/矩形灯光API模组
光照API
开发者库 · NeoForge 1.21.1
光照API是一个基于着色器的光照库,适用于需要超越原版方块光照的Minecraft模组。
它最初源自为机械动力:光照开发的照明系统,其中投影仪需要定向光、可见光束和实时阴影。光照API没有将该渲染器局限于单个模组,而是将其转化为一个可复用的系统,供其他模组在此基础上构建。
目标很简单:一个模组只需描述它需要什么样的光,而光照API负责其背后的渲染工作。
投影仪可以创建窄光束聚光灯。 荧光天花板面板可以创建矩形区域光。 移动的机器可以在运行时更新其光的位置和方向。
依赖模组无需自行实现阴影贴图、体积渲染器或多人游戏同步。
超越原版的光照
Minecraft的正常光照系统擅长照亮方块,但并非为方向光或体积光源而设计。
光照API添加了一个独立的着色器驱动光照层,能够渲染具有实际位置、方向、形状和范围的光。
目前支持的光类型包括聚光灯和矩形区域光。
光还可以投射来自世界几何体和实体的动态阴影,使物体能够物理阻挡光线,而不是效果简单穿过它们。
体积渲染可以使光本身在空气中可见,这使得该系统适用于投影仪、荧光照明、探照灯、工业环境、恐怖地图及类似效果。
作为API设计
光可以在游戏运行时创建、更新和移除。
它们的位置、旋转、强度、颜色、范围、尺寸和其他渲染属性可以动态改变,使同一系统既能支持静态灯具,也能支持移动光源。
多人游戏同步内置在库中,以便服务器控制的光能为连接的玩家一致呈现,而实际的GPU渲染保持在客户端进行。
当光需要跨越世界重载或服务器重启时,也支持持久化光。
性能
光照API围绕一个事实设计:世界中可能包含远不止一个光源。
因此,诸如阴影渲染等高开销的渲染工作与较低成本的光渲染分离,使得系统能够优先处理附近或重要的光,而不是将世界中的每一个光都视为同等开销。
这对于包含许多重复光源的环境尤其重要,例如荧光天花板面板。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。