旧課題GLSL
演習2
2017.2 にアプリFiltersが配信終了につき2016年度までの課題
https://www.kayac.com/service/other/1207
予習&準備: iPhoneアプリ FILTERS を App Store からDL(無料)してインストールしておく。(iPad 専用アプリではないので、DLする際に検索先を変更する)。
iOS アプリ のカメラアプリ + OpenGL GS シェーダー言語 「FILTERS」で学ぶ GLSL (制作 カヤック)
iPhone アプリ FILTERS を App Store からDL(無料)してインストールしておく。
(iPad 専用アプリではないので、DLする際に検索先を変更する)。
GLSLとは: 画像処理(CG作成、やカメラ)で、画像の全ての画素(ピクセル)の色を、プログラムにより修正・加工するための専用言語
組み立てパソコンやゲーム機などグラフィック性能の高い製品は、このGLSLの処理能力も高性能である。
(ゲームのエフェクト処理、モーションブラーなどで活躍)
操作方法をデモするので、いっしょに操作してみましょう。
提出物2
FILTERS で撮影した写真を Webclass にアップロードする。(問題2)
方法:
iPad から Webclass を開いて、ログイン。提出課題を選択して、 ファイルをカメラロールからアップロード。
応用(チャレンジャー求む):
Twitter か Facebook のアカウントを所有している受講生は、 パソコンと Filters を連携させて、
オリジナルのフィルターを作成
することができます。
自作したフィルターで撮影した写真をアップロードしてみてください。
Filterのサンプルにあるような面白いフィルターの自作はある程度の勉強が必要です。
提出課題としては、練習用のシンプルなものでOKです。
作成例) 赤の世界
下記のGLSLコードでは、
color 変数にカメラで撮影したピクセルの色が記録されている。
color.r は red
color.g は green
color.b は blue
の各色の値になる。
次のコマンドで、画面上の色を決める。
gl_FragColor = vec4( 赤色の値, 緑色の値, 青色の値, 1.0);
次の例は、カメラで撮影した色をそそまま画面の色として設定している。
gl_FragColor = vec4( color.r, color.g, color.b, 1.0);
例) 赤色だけカメラ画像を使用し、緑と青の色は使用しない。 → 赤色だけの世界
void main()
{
vec2 uv = iScreen;
vec4 color = texture2D(iCamera, uv);
gl_FragColor = vec4(color.r,0.0, 0.0, 1.0);
}
例) RGB の色成分を GBRの順に入れ替える。 → 色の狂った世界
void main()
{
vec2 uv = iScreen;
vec4 color = texture2D(iCamera, uv);
gl_FragColor = vec4(color.g,color.b, color.r, 1.0);
}
以下の演習テーマは、時間が余れば、次回以降で扱う予定。
SVGフォーマットの画像をWebに埋め込み。 inkscape + スクリプト