註解:Minecraft 1.18以後已改用Render Dragon渲染引擎。本文所談的內容僅適用於舊版Minecraft。
Minecraft基岩版的光影(Shader,或稱著色器)是使用OpenGL ES的GLSL和HLSL寫成,前者是給手機版,後者是給舊Windows 10版。
這篇文章介紹的是著色器(Shader),跟RTX光線追蹤不一樣。
撰文當下Minecraft 1.17,只剩手機版還在使用GLSL著色器,其他平台已經換成全新的Render Dragon渲染引擎。
為何還要學GLSL?,Render Dragon因為是預先編譯著色器,目前沒有任何自訂的餘地,只剩手機版能自由安裝玩家們製作的GLSL光影,其他平台不是沒有,就是只剩RTX光追能用。相較之下,GLSL並不會要求高規格的顯示卡才能用,所以適合手機版玩家研究。
在開始教學前,歡迎您點選以下連結進行連署,呼籲Mojang開放Render Dragon引擎給玩家自訂光影。
3rd party shader support for render dragon
必備知識#
- 熟悉C語言,學GLSL會比較容易
- 需用到大量高中數學
在電腦上開發#
因為Win10版已不支援GLSL,如果要在電腦上測試GLSL光影,可用Bluestacks裝手機版Minecraft。
光影基本架構#
光影只需要用到資源包,使用方法跟 Add-On類似。
光影的主要檔案位於shaders/glsl/
資料夾。materials
資料夾裡的檔案亦能定義要使用的著色器。
光影能做到的事#
Minecraft基岩版光影資源包安裝教學有許多光影的介紹,他們通常都會有以下功能:
- 改材質
- 著色器
- 色調
- 動態花草
- 雨滴
- 影子
- 水波
- 反射
- 天空
- 光照
- PBR (讓方塊材質有凹凸效果)
開源範本#
有些作者會把原始碼放在Github,下面是二個比較知名的基岩版光影。
當然,著色器的檔案都是明碼撰寫的,直接拆光影包的檔案來看也是可以。但苦力怕光影的團隊對抄襲行為很感冒,甚至會開吉。