【レポート】
JavaScriptから直接描画できる2Dビットマップサーフェスに「HTML Canvas Element」がある。これは現在策定が進められている「Web Applications 1.0 - Working Draft」において規定されているHTML要素のひとつで、JavaScriptから直接2Dイメージを描画できるようにするもの。将来的には3Dイメージの描画に関するAPIも策定されるとみられている。
同機能を活用するとFlashやJavaといったプラグインをインストールすることなく、JavaScriptから各種イメージ描画を実現できる。たとえばColorJackやCanvas 3D Renderer、Canvascape - "3D Walker"などHTML Canvas Elementを活用して作成されたアプリケーションがある。
ここでは同様にHTML Canvas Elementを活用して作成されたデモアプリケーション「Flog.RayTracer Canvas Demo」を紹介したい。同デモはJavaScriptとHTML Canvas Elementを活用して開発されたレイトレーシングデモアプリケーション。作成者であるAdam Burmister氏はHTML Canvas Elementとレイトレーシングのテクニックを勉強するために同デモアプリケーションを開発したとしている。
実用的に動作するものではないのだが、JavaScriptとHTML Canvas Elementどこまで実現できるのか示す点で興味深いものだ。デモを動作させたようすを紹介したい。まず同デモにアクセスし「Render」ボタンを押すと図1が表示される。デフォルトの設定はかなり粗めだ。「Diffuse」「Shadows」「Highlights」「Reflections」のチェックボタンを選択することでレンダリング効果を変更できる。
「Pixel size」を変更するとより細かく描画できる。「Faster (10x10)」を選択すれば図3といったところだ。なお描画にはかなり時間がかかるので、Firefox 1.5以降を使っている場合は図4のように警告ダイアログがポップアップしていくる。「Continue」を選択して処理を継続すればいい。
「Ok quality (2x5)」を選択すると図5が、「Best quality (1x1)」を選択すると図6のように描画される。なお「Best quality (1x1)」の描画にはかなり時間がかかる。Firefoxを使う場合は、図7のようにabout:configでdom.max_script_run_timeの値を十分長い値に設定してから実行しよう。
|
|
|
|
図5 Ok quality (2×5)を選択した場合 |
図6 Best quality (1×1)を選択した場合 |
図7 JavaScriptの処理が長いので、警告が出る時間を長めに変更してから実行する – Firefox 1.5以降 |
同氏は同デモを実行するにあたってFirefoxよりもOperaを薦めている。Operaの方が高速に処理が実行されるそうだ。いますぐに実用云々というものではないが、JavaScriptとHTML Canvas Elementでレイトレーシング処理とその描画ができるという点で興味深い。
| FSL、全通信方式対応のマルチモード/マルチバンドRFトランシーバLSIを発売 [14:21 2/23] |
| ISSCC 2012 - ソニー、転送速度350Mbpsを実現したTransferJet対応LSIを発表 [13:54 2/23] |
| ISSCC 2012 - パナソニック、443MB/sの書き込み速度を実現したReRAMを開発 [13:35 2/23] |
| ISSCC 2012 - IMECとルネサス、次世代広帯域無線用受信機向けADCを開発 [13:01 2/23] |
| 富士通と東北大、高精度3次元津波シミュレーションの共同研究を開始 [11:19 2/23] |
|
イメージナビ、プロの広告写真家による高品質な撮影代行サービスを開始 [14:43 2/23] クリエイティブ |
|
AppleやGoogleなどアプリストア6社、プライバシーポリシー明示に合意 [14:34 2/23] ネット |
|
【2月23日】今朝のエンタメニュース放映時間ランキングTOP10 [14:32 2/23] エンタメ |
|
FSL、全通信方式対応のマルチモード/マルチバンドRFトランシーバLSIを発売 [14:21 2/23] エンタープライズ |
|
シグマ、4,600万画素センサー搭載「SD1 Merrill」の発売日を正式決定 [14:21 2/23] 家電 |