Batocera 如何新增濾鏡 (Shader)

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 可選擇。

blog.ocam.live
blog.ocam.live

關注科技新聞、SEO、人工智慧、電玩模擬器、程式設言、與 IT 日常等議題,深入簡出文章的說明並持續追蹤相關新聞的發展與報導。