🐥

アスキーフィルターをGLSLとP5.jsで実装した話

2024/12/25に公開

本記事はProcessing Advent Calendar2024の記事です。

なおフィルターのソースコードはここにあります。

アスキーとは

7ビットで0b0000000から0b1111111までの番号を使い、数値に対応する文字や数字を定めたものです。

  • 英語アルファベットの大文字と小文字
  • 記号
  • 0 ~ 9までの数字
  • 制御文字

たとえば0b1000001と言う数字は英大文字のAを表しています。

アスキーはUnicodeのUTF-8と互換性があります。

アスキーフィルターとは

画像や映像をピクセル単位でアスキー文字に置き換えるフィルターです。

画像や映像の色と座標で表示する文字が変わります。

使用する文字

. : * o & 8 @ #の8つです。

単色RGB

色によって文字が明確に変化しています。たとえば青の場合oと言う文字、黄色の場合は#とうい文字が描画されます。

青の文字oが描画されている画像

黄色の文字#が描画されている画像

グラデーション

色が滑らかに変化しているため文字も滑らかに変化しています。また欠点として滑らかに変化しているためアスキーでない文字も描画されます。

グラデーションにより文字も滑らかに変化している画像

パーティクル

パーティクルの場合異なる2色が使われており文字がはっきり描画されています。

アスキーフィルターをかける前の画像

アスキーフィルターをかける前の画像

アスキーフィルターをかけた画像

アスキーフィルターをかけた後の画像

参考文献

Discussion