久しぶりのどっぷり WebGL
バレンタインデーに合わせて企画した、WebGL 開発者フォーラムによるバレンタイン便乗企画。
そこに出展するために久しぶりにどっぷりと WebGL のコードと向き合っているんだけども、あらためて自分の無知さを思い知る結果に。
今まで、たくさんテキストを書いてきたけど、あんまりちゃんと理解しないで書いてるんだなということが自分でわかってしまう。なにか一つ問題に当たるたびに、もう一度最初から調べなおしてみるんだけど wgld.org のテキストだと説明不足だなと感じることや、間違ってるなぁと思うことがある。本当に、3D は難しい。
やっぱり人を引き付けるものを生み出すためにはそれなりの努力と時間と、そしてあきらめない気持ちが必要。センス、技術、知識、どれも自分はまだまだ中途半端な気がする。
もっと勉強しないといけない。やりたいことと、やれること。やれるようになりたいことがたくさんあって、これはこれで幸せなことなのだろうと思う。
自分のプログラマとしてのレベルを考えることよりも大事なこと
前回のエントリで自分のレベルは自分では測れないという話をしたのだけれども、よく考えてみると、少し前の(それこそ5年くらい前の)自分を思い返してみると、ちょっとした回転やベクトル系の演算になるとものすごく頭を捻って考えていたように思う。
今は多少はベクトルなんかが出てきても難儀しなくなった。これには触れているコードや書いているコードが「良質かどうか」はあまり関係ないような気がする。
要するに、そういう「系」のコードばかり書いていると、そういう系の処理には強くなるというだけのことのように思う。3D プログラミングのような、数学的な理解を求めるものが多い分野にばかり没頭していれば、きっと自然とそうなっていく。レベルの高低ではなく、そういう系のプログラマになっていくのだと思う。
クラスという概念のない、あるいはあまり利用しなくてもどうにかなってしまう言語ばかりを使ってればそうなっていく。そういう系のプログラマに。
そういう言語を扱っていても、クラスの性質や利便性を理解しているかあるいはクラスを使わないと話にならない言語を既に十分理解している場合、きっとクラスの概念のない言語でもクラスみたいなことをなんとかしてやろうとする。そういう系のプログラマになる。
コードの水準、あるいはプログラマのレベルの高低は自分では測れない。
また、他人がそれを測ることも、ある意味では難しくまた無意味なのかもしれない。
大事なのは、自分がどういう「系」のプログラマでありたいのか。そのビジョンの純潔さとそれに対する信念の強さだと思う。
それに鑑みて、自分は強烈なビジョンと信念を持っているだろうか。
自分がどういう系のプログラマでありたいのかわかっているだろうか。
自分は WebGL が好きだ。
将来的にはクラスプラットフォームで動作すると考えているし、そのビジュアルとしてのインパクトの強さ、実行速度の優位性も高いと考えている。今後確実に普及していくと思うし、ある程度リッチなウェブコンテンツを作ろうと考えたときに確実に選択肢の候補にあがる存在になると信じている。
だからこそ、この WebGL の魅力を世に伝えたい。
あるいは WebGL を始めようと考えたプログラマの助けになりたい。
願望だけではだめだ。こうしたいという思いだけではだめだ。優れた成果物としての example と、それを明確に理解させるための文章構成力が必要だ。同時にそれが人の目を惹くものでなければだめだ。誰かのためにそれを書く以上、見つけてもらうことができなければ意味がないからだ。
今はまだ、私は WebGL をただ単語として叫んでいるだけで中身が伴っていない気がする。もっと中身のあるプログラマにならなくてはいけない。声高に WebGL すごいよ! と言っているだけではいけない。
人々を魅了するコンテンツやサンプルをもっと作らなければ。
コードの可読性は極力高いものにしなければ。
それは解説テキストを伴うものであることを前提として作らなければ。
コンスタントに、そして常に新しいものを、紹介解説し続けなければ。
たとえ教科書に載ってるみたいなコードでも、それが私が目指すもの。
そういう系のプログラマに私はなりたいんだ。
久しぶりに canvas で 2D コンテキストを使った話
ほとんど掲題のとおりなんですが、日本 WebGL 開発者フォーラムの企画でバレンタインデーと連動したものをやってみようというのは既に何度かここに書いたとおり。その企画ページで、最初から WebGL でドーン! ってのもあれかなと思い、久しぶりに canvas の 2D コンテキストを使ってみたわけです。
その昔、2D コンテキストを使ってゲームを作ったこともあったので結論から言えばそれほど難儀したわけでもなかったんですが、いろいろ忘れてて調べながらコードを書きました。
WebGL の場合、テクスチャをどのように合成するのかなど、シェーダの主導権がこちらにある以上は好き放題なわけですが、canvas に 2D コンテキストで描画するからにはそういう発想は持ってはいけないわけで。
もちろん、似たようなことは機能的に十分できるわけです。ただ、そういう発想に偏ってしまう自分がなんだか面白かった。
よく、自分自身がプログラマとしてどの程度通用するレベルなのかって考えることがある。
今回のページも、canvas2D で処理する部分+全体の HTML + CSS で実質1日程度の時間で仕上がった。仕上がるまでの時間はいいとして、コードはあまりきれいな感じでもなくて、やっぱり自分のレベルは自分では図れないのであった。
もっとプロトタイプチェーンとか、そういうのちゃんと勉強したほうがいいんじゃないかと作りながら思った。
WebGL を使って作るバレンタイン企画、参加者募集中です
こんばんは。
自宅 PC がお亡くなりになり、古い XP ノートから仕方なく Web に接続しているわけですが、はてなブログの管理画面は本当に重くて困っちゃいますな。
さて掲題のとおり、先日発足させていただいた日本の WebGL 開発者のためのフォーラム。こちらでバレンタインと連動した WebGL の企画を発表しました。
バレンタインデーにかこつけて、WebGL でなんか作ろうぜというものです。
まだ、企画自体の参加者はそれほど集まっていませんが、それでもなにかしら日本の WebGL 普及に一石投じられそうな雰囲気はしてきました。
ちょっとしたものでもいいですし、もちろんヘルパーライブラリ使ってもまったく問題ありません。今からでも、ご参加いただける方がいましたらフォーラムからご連絡いただくか、私宛にメールしてください。
公開は2月14日当日を予定しています。
まだ2週間ほどありますし、ぜひご参加お待ちしてます。
さてここからは余談です。
上記のフォーラム、なにも先鋭家たちが最新技術で鎬を削るために発足したのではなく、誰でも気軽に参加してもらって WebGL に対する造詣を深めてほしくて作ったものです。
何を隠そう私自身、あまり 3D に明るいわけでもなくて、世の中にいるスーパーエンジニアたちからいろいろ教えてもらえたらラッキーという魂胆もあったりするわけですね。
WebGL ってぶっちゃけて言うとかなり謎技術というか、普通のエンジニアなら名前を耳にしたことはあっても、なかなかチャレンジしてみようという領域に入らない技術だと個人的には思います。
かくいう自分も、初めて目にしたときは Flash かなにかの一種だと思ったうえに実装しているコードの例を見てこりゃ無理やんって思いました(笑)
そんな経験もあって、やっぱり間口をもっと広げるべきなのかなって思いました。実は、それを自分なりに体現してきたのが今の wgld.org の姿なんですね。
Google 先生のご機嫌にもよりますが、おかげさまで WebGL というキーワードで検索すると wgld.org はトップページに出てきます。少しは、自分の抱いた「もっと日本に WebGLを」という思いは達成できているのかもしれません。
ただ今年に入って思ったのが、やっぱり wgld.org みたいな(変な意味じゃなくて割りとカッチリした)サイトだけでは限界があるなって思ったのと、自分のプログラマとしてのレベルの低さの実感。
企業プログラマとして働いたことがない私にとって、同様のことができるかあるいは同じ話題で盛り上がれる人は周囲に一人もいません。
このままではいかんなと思いました。
普及させたくても、それを成そうとしている自分自身がまるで成長もできてない。それじゃだめだと思ったんですね。
HTML や CSS に関することは当然プロの方たちみたく書けませんし、3D プログラミングとなると本職の人たちにとっては既に脳髄に嫌というほど刷り込まれている当たり前のことでハマったりしますし、Git の使い方はいまだにいまいちわかってませんし、Vim をついこないだ初めて触ったんですがいかにもありがちな「これ文字打てないじゃん」状態になりましたし、とにかく要するにプログラマとして自分をもっと磨かなくちゃいけないなと思いはじめました。
開発者フォーラムを自分が立ち上げても、それに賛同してくれる人は正直あんまりいないかもしれないと思っていましたが、それは良い意味で裏切られてたくさんの人が参加してくれました。
フォーラムをどういうふうに使うのかは、人それぞれに自由だと思います。RSS を定期購読する程度のノリで、最新情報がいちはやく手に入ったらいいなくらいの感覚でも、それはそれでいいと思うんですよね。
たくさんのエンジニアがいて、たくさんの思想やセンスが集まって。
そのなかで自分がもっとプログラマとして磨かれていく。
いや、これはすばらしいなぁ。
だからこそ、がんばることができそうなのです。それだけを言いたいためにずいぶん長い余談を書きました。
そんな私が発足した WebGL フォーラム。
自分自身のためだけでなく、一人でも多くの方にとって有益なものになりますようにがんばります。
WebGL 2.0 も徐々にメジャーに
WebGL も 2.0 という数字が現実味を帯びてきて、いよいよ本当に今年はすごいものがいっぱい世に出されそうな予感がする。
一方で自分はと言えば、最近はろくにサンプルも、そして解説テキストも自分自身の勉強もままならぬような状況でちょっと焦燥感。
いずれ、拡張機能を有効にすることで利用できるものから、わりと動くものをピックアップして勉強したい。あとはメガデモっぽいやつ。これはぜひやってみたい。マシンパワーをだいぶ食う世界だと思うので、今のこのとりあえず引っ張り出してきてやったぜ XP ではきついかなと思うけども。
とにかく、いろいろ楽しみな話題が多い。
WebGL 界隈が騒がしくなるのはいいことだ。
あとはそれが、ただ単に「すげえ」で終わってしまうのではなく、一人でも多くのエンジニアの手に渡るように。そのために自分のできることをやっていきたい。
日本 WebGL フォーラム公式企画 第一弾告知させていただきます
いかがおすごしですか。
私は、寒いです。
先日立ち上げた WebGL の開発者フォーラム。
せっかくなので、企画を打ち出してみました。詳細はグループのページに行ってもらえれば見れます。
かいつまんで言うと、2月にやってくるあのイベント。
一部の人たちが異常に盛り上がる、もしくは盛り下がるそんなイベント。
あれに便乗しようという腹積もりです。
なにか、形になるものを残していきたい。
それがたとえ独りよがりの末に生まれた自己満足の残骸だとしても、少しでも WebGL が人の目に触れることが大切だと今は思う。
がんばろう。
いいものを、がんばって作ろう。
普段なら、別段楽しみでもなんでもないあの日が、ちょっとだけ楽しみになる。
なんだかそれだけでも、やる価値があると個人的には思うのだ。