レトロな8色パレット、320x240pxの画面を作成すべくWebGLを下記サイトで勉強している。最新のWebグラフィックAPIをうまく使ってレトロな画面をどうにかして作れないかという、本末転倒な感じがなんとも。画面サイズはひょっとしたら256x192ドットにするかもしれない。
読んでいて浮かんだアイデアは、テクスチャをうまく使って昔のRGBプレーンを表現できないかなというもの。昔の8色カラーのVRAMはR,G,B各プレーンが独立していた。各色は1ビットあれば十分なので、1バイトで8ピクセル分の情報が格納できる。320x240pxだと、320x240/8 * 3 = 28,800バイトで済む。これをテクスチャにしてフラグメントシェーダーで読みだしパレット情報にしたがって色を置き換え描画するというアイデア。できるだろうか。今のWebGLのGLSLだとビット演算ができるとかできないとかあるらしい。まあ誰に迷惑をかけるわけでもないので、やってみればいいのだが。
上のサイトを読んで知ったけど、フラグメントシェーダーだけでいろいろなエフェクトができるんだね。
http://glslsandbox.com/e#31548.0
昔のデモシーンをほうふつとさせる。