Batocera 在 Emulationstation 的選單裡內建了約 9 至 10 個的內建 shader 可以從ES 介面直接選,其它無法選的 Shader 可在進 Retroarch 後由 Retroarch 的介面選擇 shader 後載入。但其實還有另 1 種需要微寫程式的方式讓自定新增 shader 可由 ES 介面選擇。本文章會介紹如何自定新增。
在介紹如何新增之前要先了解到目前 shader 分兩種。一種是 OPENGL (glslp) ,另一種是 VULKAN (slangp)。當你在套用所選擇的 shader 的必需與遊戲執行的 video / grapic driver (驅動程式相符) 。例如選擇 glslp 的 shader ,那你的 video / grapic driver 就要選 OPENGL ,不然不會生效。VULKAN 就要選 slangp 的 shader
新增的目錄架構如下。一般都要手動建立。
/userdata/shaders/
├─ configs/
│ ├─ curvature/
│ │ ├─ rendering-defaults-low-gpu.yml
│ │ └─ rendering-defaults.yml
│ └─ my-own-custom-shader/
│ └─ rendering-defaults.yml
├─ custom-shader-my-preset-relies-on.slang
└─ custom-preset-my-shader-set-relies-on.slangp
假設你要新增一個 my-own-custom-shader shader 可在 ES 選單可選擇,你要建的目錄是
mkdir -p /userdata/shaders/configs/my-own-custom-shader
vi /userdata/shaders/configs/my-own-custom-shader/rendering-defaults.yml
內容如下。其中 shader 的內容可改 看你要用哪個 shader 。完整的 shader 列表可在 /usr/share/batocera/shaders/ 看到。
## SHARP-BILINEAR-SIMPLE
default:
# shader affects retroarch shaders
shader: interpolation/sharp-bilinear-simple
# scanline affect fba2x
scanline: false
加完重開機就可新的 my-own-custom-shade 會在 ES 的 shader 最表中出現。
但如果你要是用其它地方下載的 shader 。如 Sharp-Shimmerless-Shader 把下載的程式放 /userdata/shaders/sharp-shimmerless 再把 opengl 的 glsl 的程式完整放進去。然後執行
mkdir -p /userdata/shaders/configs/sharp-shimmerless
vi /userdata/shaders/configs/sharp-shimmerless/rendering-defaults.yml
內容如下
default:
shader: /userdata/shaders/configs/sharp-shimmerless/sharp-shimmerless
scanline: false
這樣 ES 就會出現另一個 sharp-shimmerless 可選擇。










