どくらぼ

言いたいことを言います

さいきんのわたくし

なかなかまとまった時間が取れず、wgld.org の修繕ができない今日この頃。

少しだけ、本当に少しだけなんだけども修正することができた。

 

トップページに少し文章を追加したのと、先日@izmhratsさんに教えてもらった軽微な不具合を全体的に修正した。

 

先だって、まずやらないとと思っていることはいくつかあって、やっぱりこれも先日@hiyoko1986さんから教えてもらった不具合を修正すること。これは深度値の扱いに関する部分なんだけども、肝心の自分の理解が追いついてなくて、解説する側として文章を書けないので難航してるところ。いやぁ、勉強になりますな。本当にこういうのは助かる。

 

あとは、先日公開したバレンタインデー企画の解説テキスト。

こちらは自分がやったことの焼き直しなので時間さえあればできそう。というか、既に wgld.org で解説した技術しか使ってないっていう……

 

あとは、いまだからぶっちゃけると wgld.org を開設して HTML のベースとなるソースとか書いていたころには、実はサーバーサイドがまったくできなかった。

だから wgld.org の右サイドバーにずらっと並んでいる各テキストへのリンクは全部 javascript で生成してる。このへん直したい。サーバーサイドでちゃんと静的リンクとして吐き出すようにしたい。今ならできる知識がある。一応、成長してる。

 

最近は、はてな村から少し距離を取っている。特にはてぶ。

これには無駄に時間を吸われている気がしてきたから、少し遠ざけてみることにした。ブログに関してはできるだけ発信する機会は多くしていたい。それが自分自身のためにもなると思っている。

 

twittertumblr は逆に欠かせない感じになっている。情報の流入元としてやっぱり無視できない側面がある。特に twitter を通じて、本当に日本中の優秀な、それこそ自分から見れば高嶺の花みたいな人たちの言葉を見聞きできる。これはすごくいい。

 

ほんと、すごい人たちがいっぱいいる。なんとか追いつきたいっていう思いばかりが最近は募る。この感覚はたぶん「焦り」に近くて、本当はそんなことを感じる必要なんてないんだと思う。自分のペースで自分のやりたいことだけやってても、本来は誰もそれに対して文句も言わないし責めないんだと思う。

 

でも自分はもっと成長したい。みんなと肩を並べて話せるような、少しくらい自分に誇りを持てるようなプログラマになりたい。そんなプログラマになりたい理由は結構シンプルで、実のところほんとにそれしか、肩を並べて話せるようになりたいということしか、ないんだと思う。

wgld.org を見てくれてる人は、私のことをスーパーエンジニアだと思ってるかもしれないけど、けしてそんなことはなくて。もしもそう思っている、いや思ってくれている人がいるなら、その人が想像するスーパーエンジニアにもっと近づかなくてはいけない。これは義務や責任ではなくて、単に願望なんだ。そうなりたい、そうありたいという、願望。

 

この願望をなくしたら、きっとだめだと思う。

今は、この願望が良くも悪くも自分を突き動かしてる。

だからいいんだ。

それがいい。

 

今日も、がんばろう。

ライブラリの功績

バレンタイン企画の製作中、感じたこと。

 

Three.js のようなライブラリを一切使わずに WebGL のコードを書いている。これには理由がある。ひとつには、そもそも使い方調べてない。ふたつには、wgld.org は極力ライブラリを使わない方針だからだ。

 

一つ目の理由、なぜ使い方を調べないのか。

そもそも WebGL や 3D プログラムに関してわからないことがいっぱいあって、Three.js の使い方を覚える隙間があるならば、もっと基本的なことをちゃんと覚えなくてはいけないなと感じるから。

でも、最近思うのは、単に WebGL の使い方を解説しているだけでは、本当の意味で WebGL の普及に貢献しているとは言えないのではないかってこと。WebGL をスクラッチで書くのが大変だからこそ幾多のヘルパーライブラリが世に存在するのであって、それらを使う選択肢を持った人の助けになることも、それはそれできっと WebGL 開発を助けることになるのだと思う。

 

今回バレンタイン企画用のプログラムを書いていて、本当に、WebGL というやつはなんて冗長なんだろうとあらためて感じた。これは、大概の人がやる気なくしてしまうよなって思った。

同時に、wgld.org でテキストを書くときは別として、自分の成果物を高い精度と高い生産性で仕上げていくには、やっぱり自前でもいいからライブラリを作って利用する必要がある。そうしないと、労力と時間ばかり掛かってしまって非常に無駄が多い。

 

誰かが作ってくれた便利なライブラリを使うのも、いいと思う。それを否定しないしむしろ誰かがライブラリを使おうと思ったとき、その助けになれるとしたらそれが最上だと思う。

ただ、自分が自分のプログラムを好きに書いていく上では、やっぱり自前のライブラリがいい。

 

問題は、それをいつ書くのかってことだ。

本当に、やりたいことがいっぱいあって大変だ。楽しい。

久しぶりのどっぷり 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 普及に一石投じられそうな雰囲気はしてきました。

 

日本 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 界隈が騒がしくなるのはいいことだ。

あとはそれが、ただ単に「すげえ」で終わってしまうのではなく、一人でも多くのエンジニアの手に渡るように。そのために自分のできることをやっていきたい。