8色パレットカラーをWebGLでエミュレートするアイデアその3 - WebGLでレトロPCグラフィックスを楽しむ(6)

公開:2016-04-04 21:32
更新:2020-02-15 04:37
カテゴリ:webgl,PCグラフィックス,javascript,html5,glsl,WebGLでレトロPCグラフィックスを楽しむ

8色パレットカラーをWebGLでエミュレートするアイデアだが、どうもその2もうまくいかなそうである。 私はフラグメント・シェーダーでuniform変数の配列でパレットを持てばよいと考えていた。でも残念ながらフラグメント・シェーダーでは配列のインデックス指定は定数のみだとの情報が。というわけでアイデア2はアウト。

しかしuniform変数配列のことを調べている途中で以下のポストを発見。

https://spphire9.wordpress.com/2014/06/07/webgl%E3%81%A7%E3%83%89%E3%83%83%E3%83%88%E7%B5%B5%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/

上記はインデックスカラーのデータを画面表示するサンプルであるが、これを少し書き換えればほぼそのまま使えると思う。 アイデアのキモはパレット情報をテクスチャで持つという点。なるほどと思った。早速このアイデアで進めることにする。

ついでにシェーダーを使って、昔のCRTっぽい画面を作るというサンプルも見つけた。

http://aba.hatenablog.com/entry/2015/09/15/211456

このラスタっぽくてにじんだ画面がよいなぁ。。