4/7日記 ===== プログラム ===== * 久々にGLSLを書いた。 * 色々あって調べていたら、複素変換という要素を見つけた。 * どうも某STGの背景、楕円形メビウス変換というやり方で実装してるっぽい。描画の速さや半透明なのを見ると、どうもGLSLで書いてるぽい。(ついでに64の罪罰も同じ描画してるぽいな) * ということで計算のベースになる極座標について理解するため、試しにGLSLを書いてみた。 * せっかく実例があるのでShadertoyを探したりしてみた。通常の平面から複素数平面に座標を変換して描画するという、言ってしまうと想定通りの実装ではあった。で、この座標の取り方を変更することで描画具合が変わってくるという感じ。 * 自分が開発している仮想スクリーンであればテクスチャ1ピクセルごとに伸びる範囲や最終的に描画する座標を計算しなきゃいけないけど、GLSLであれば範囲の中の1ピクセル単位で計算すればいいので、そういう観点からすれば楽ではある。 * https://x.com/__machia__/status/2041479101283008669/photo/1 ---- * あと、ちょっとバグらせてみたところ、なかなかイカスエフェクトを生成できた。 * https://x.com/__machia__/status/2041490738161283483?s=20 * 極座標の値によってフェードする形にすれば即席エフェクトも作れそう。そこまでするメリットがあるかという問題はあるが。 * こういうのを作っていくことで自分も満足だしプレイヤーも結構びっくりする表現になるのではないかと思い始める。