読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

WebGL + GLSLで作ったレトロPC風グラフィックス画面で、キャラグラで動画表示を行う - PCグラフィックスを懐かしむ。楽しむ。(18)

40x25の8色キャラ画面で、チェッカーキャラクターを使った動画表示を行ってみた。

https://41.media.tumblr.com/6d5f9a3fd1d1bf0190374c03d5df21c6/tumblr_o63axs6El01s44dwzo1_1280.png

動くデモ:

http://github.sfpgmr.net/graphics/devver/20160423/

ソースコード:

GitHub - sfpgmr/graphics at d2cd41906d229c3244c4725b37e3b8dbeb8877e3

動画の素材は以下のサイトのものを使用した。

movietips.websozai.jp

当然そのままでは使えないので、ffmpegを使って顔部分をアップにし、40x25px、20FPSのpngファイルに落とし、nodeで8色チェッカーのキャラクタと色データを作って表示している。ffmpegは便利だし、nodeもpngのライブラリとかも普通あってとても便利だ。こういうコンソールでの作業にnodeはもってこいだ。

一応チェッカーキャラクタと背景色・文字色で27色の表現が可能だ。RGB各3階調の能力はあるのだが、やはりそれでは人物は難しく、時間方向のディザリングを施し、各色9階調、729色までの色表現を可能にしたつもりだ。ほんまかいな。

この時間方向のディザリングという手法は、以下の記事を参考にしてみた。MZ-700を極限まで使いこなして動画再生を行っている。アイマスというのはよくわからないが・・。

ゆっくり呆れ返っていってほしいのねー。

がしかし時間方向のディザリングは見づらいな。やっぱり。かなりチラつくな。バグっているかもしれないけど。

40x25では粗すぎて、近くで見るとかなりきついが、目を細めたりして意図的にピントを外すというかぼやけさせるとちゃんと女性のカラー動画であるということがわかる。画面から1.5mくらい離れるとかなりよくわかる。

音は一応4bitサンプリングで、同期して流すようにしている。が、結構ノイズが載っている。無音部分はカットしたが。