スペアナもどきはできそうな気がしてきたところで、映像表現にも少し凝ってみようとシェーダープログラミングをしようかなと思っているところだ。ただちょっとメンタル的に疲れていて、やる気が萎え気味である。またさらに進捗がゆっくりになると思う。てなことを書くとやる気が出たりするので不思議なのだが。
そういいながらもシェーダーに取り組むのは私にとって敷居が高いので実際は今まで書いてきたコードの小改良や、エラー処理コードなどをちまちま書いている。 スペアナ表示部分のコードをとにかく早く作ることを最優先にしてきているのでコードはすごくいい加減で、エラー処理なんか全然せず、とにかく例外を投げるに終始している。その例外を捕まえて回復可能処理であれば何か処理し、致命的であれば致命的であるとユーザーに明示してアプリを終了するなんていうコードは1行も書いていないのである。 まあこういことは自分用であれば端折ってもいいのだけれどもね。中身はわかっているんだからエラーを起こさないように慎重に動かせばいいのだ。でもやっぱり人間だから無意識のうちにエラーを起こしてしまう。自分用だからといってエラー処理をまるで書かないということもできないのである。
シェーダーでどういうことをするかというとかごく当たり前のことである。スペアナ表示を3D化したりとか、分析結果をトリガーにして昔のデモ・コードのような絵を動的に描いたりとか。メタボールとかね。まあそういう表現をシーケンスデータとして、さらにプログラム可能にして動画を出力したりしたいのだけれどもそれは今のところ「夢」レベルだな。
WebGLだけどもシェーダーコードが置いてある「Shadertoy」のを見るとなんかこう創作意欲が湧いてくるような気分になるのだが。しかしこのShadertoyのトップページ激重いな。。ここのシェーダーコードをDirect 3D 11 シェーダーに移植なんかもしてみたいのだけれどもね。。