シェーダアートとは各ピクセルの座標値と共通のデータからそのピクセルの色を決定し、様々なイメージをスクリーン上に表現する手法のことです。時にシェーダ芸と呼ばれることもあります。
これは主にシェーダと呼ばれるGPUで実行されるプログラムを記述することで実現します。
様々な手法が編み出され、そのシンプルな原理とは裏腹に実に多彩な表現が可能となっています。
Web上にはシェーダを閲覧/投稿できるGLSL SandboxやShadertoyといったサイトがあり、多くの驚くべき作品を目にすることができます。
もちろんWebに限らずiOSでもシェーダアートは実現できます。
本セッションではまずシェーダアートの動作原理を解説します。
次にstep関数やfract関数といったシェーダ用の組み込み関数をいくつか学んだ後、距離場・極座標など表現方法のヒントとなる概念に加えて、複製・ノイズなどの基本的なテクニックも紹介します。
また、共通データに時間を渡すことでアニメーションを行ったり、加速度センサーやマイクの音量を渡すことでインタラクティブな表現ができるデモも披露します。
さらにレイトレーシングの一種であるレイマーチングを用いた3次元的な表現も紹介します。
普段のプログラミングとはまた一味違う体験を、そしてあなた独自の世界を表現してみませんか?