WebGLに興味を持ったので体験セミナーに行ってみた(メモ)

最近、WebGLに興味が出てきました。(いまさら?って感もありますが)
本を買ってチクチク家で勉強してもいいんですが、それだといまいち集中できない傾向にあるので(Unityはその結果最近ほとんど触ってない)、どうやって取りかかろうかなと思っていたところ、セミナーが開催されるという情報を見つけたので、勢いで体験申し込みをしてみました。あっちこっちに興味を持っては長続きしない性分なので、こういうところに足を運んで、逃げられないようにすればいいのでは、と安易に考えています。
行った内容はメモしないと忘れてしまうので、メモがてらの記事です。

WebGLって?

WebGLWebブラウザで3D表現を行うための技術です。閲覧者側には特にプラグインも必要なく、最近はだいたいのブラウザ(モバイル含む)で閲覧できるため、結構使われているようです。下はセミナーで紹介されたWebGLの例の一部です。

要は「なんかすごそうなものがつくれそう」なやつです。GPUを使うため、ふつうにJavascriptでグラフィカルなやつを表示しようとするよりも5倍から10倍くらいは最低でも速いらしいです。

なんでWebGLを勉強しようと思ったのか

  1. もともと3Dプログラミングに興味があった。
    小中学生のときに3DCGを少しやっていたこともあり、3D表現にはもともと興味がありました。最近はプログラミングの勉強意欲が高いので、二つが合わさって倍プッシュ感。VRとかNUIとかとも親和性高そうな気がした。
  2. Javascriptベース
    この手のクリエイティブコーディング(?)的なやつ(OpenFrameworkとかProccessingとかvvvvとか)はいくつかありますが、どれもC言語ベースっぽい(と自分では思っている)。どうせならいまWebの仕事とかやってるし、その流れにも役立つかもしれないJavascriptの方が汎用性高いかなーと思った。
  3. なんとなく
    これが一番メインの理由で、なんかかっちょいいなーと思ったからです。

とりあえず、「なんか思いついたときに自分である程度つくれる」ようになっておかないとこれから死ぬな、という漠然とした不安から、何かしらやってみようという感じです。「いまさらWeb?」みたいな感じもあるかもしれませんが、基本Javascriptなので融通は利くのでは?と勝手に思ってます。(Unity5でWebGLと連携しはじめたって聞くし)

今日勉強したこと

今日は体験セミナーだったので「WebGLってどんなもの」とか「WebGL開発のために必要なこと」的な感じだったです。
行ったセミナーはこれです。http://webgl.souhonzan.org/entry/?v=0203

  1. じつはC言語っぽいのも使うということ
    ゼロ予習でセミナーに行ったので知らなかったのですが、WebGLは基本的に
    1. HTMLファイル
    2. Javascriptファイル
    3. 頂点シェーダ
    4. フラグメントシェーダ
    の4つから構成されるらしく、シェーダ2つは「GLSL」というC言語っぽい言語で記述されるとのことでした。まだいまいち2つの役割が理解しきれていないけど、やってればわかるでしょう(多分)
  2. 数学がんばらなくちゃいけないということ
    座標なんかはxyzで表現できますが、座標軸に応じて操作を行う、とか、時間変化をつける、とかなるとちょこちょこ数学っぽい感じになってきます(当たり前だけど)。これは慣れが必要っぽい。
  3. ローカル開発環境つくったほうがいいということ
    じつはローカル開発環境をまだ立てていないです(このサイトは全部オンラインで開発してる)。NetBeansというソフトウェアを使うことで、簡単にローカル開発環境を立てられるらしいので、やってみる予定。

次回以降のセミナーでは本格的に開発のレクチャーに入っていくとのことですが、受講料もあるので迷い中。。
こういうのは勢いで行った方がいいし、「買わない理由が値段なら買っとけ」ってネットの神様が言ってたし、とりあえず続けてみようかなあ。