Hey hey, come on over have some fun with Crrrrrazy Taxi! クレイジーなヤツらが帰ってきた!客を速く届けるならルールなんて関係ねえ! アーケードやドリームキャストなどで大ヒットした「クレイジータクシー」がiOSに登場! 「The Offspring」と「Bad Religion」のオリジナルサウンドトラックも当時のままで登場だ!
クレイジーサウンドトラック The Offspring ?All I Want ?Way Down The Line ?Change The World Bad Religion ?Hear It ?Them And Us ?Ten In 2010 ?Inner Logic
2001年ニトロプラス社PCゲーム主題歌シングルデビュー後、様々なジャンルのゲーム?アニメ作品に起用される。 世界最大規模を誇るアニメソングの祭典、アニメロサマーライブに3年連続で出演、海外のアニメイベントにも積極的に参加するなど、話題を呼んでいる。 科学アドベンチャーシリーズすべての作品に歌唱で携わり、作品にはかかせない存在となっている。 代表作に「STEINS;GATE」のTVアニメ主題歌『Hacking to the Gate』やゲーム版主題歌『スカイクラッドの観測者』といった、アニメ?ゲームソングからオリジナル楽曲をあつめたアルバム『spark!』まで精力的に活動し、2013年3月6日にはTVアニメ「ロボティクス?ノーツ」新エンディングテーマ『トポロジー』をリリース。
1つは,PCおよびワークステーション向けのグラフィックスAPIである「OpenGL」の新バージョン「OpenGL 4.3」だ。そしてもう1つは,組み込み向けのグラフィックスAPIである「OpenGL ES」の新バージョン「OpenGL ES 3.0」である。 筆者は,SIGGRAPH 2012のタイミングで,Khronosのプレジデントを務めるNeil Trevett(ニール?トレヴェット)氏にインタビューできたので,今回はそれを基に,OpenGL 4.3とOpenGL ES 3.0のポイントをまとめてみたい。
もはやポテンシャルは据え置き機以上となった
OpenGL ES 3.0
2013年度以降,ハイエンドスマートフォンのグラフィックスは,一気にOpenGL ES 3.0へ移行すると言われている。それくらい注目のAPIだ
冒頭で紹介した順番からすれば,OpenGL 4.3のほうから紹介していくのが妥当だが,今回は,開発コードネーム「Halti」(ハルティ)として,長い間その登場が待ち望まれてきたOpenGL ES 3.0のほうから取りあげることにしよう。
OpenGL ES(OpenGL for Embedded Systems)は,クロスプラットフォームかつロイヤリティフリーなオープングラフィックスAPIであるOpenGLから派生した組み込み(Embedded Systems)向けAPIだ。第1世代のOpenGL ES 1.0が登場したのは2003年頃で,2007年にはプログラマブルシェーダアーキテクチャに対応したOpenGL ES 2.0が登場。近年,ミドルクラス以上のスマートフォンやタブレット(のSoC)で広く採用されている。
今回発表されたOpenGL ES 3.0は,OpenGL ES 2.0への後方互換性を維持しつつ,業界内で生じた要望を取り入れ,なおかつPCやワークステーション向けとなるOpenGL 3.3やOpenGL 4.xが持つ機能との親和性を高める方向での強化が図られたものという位置づけだ。Khronosは,OpenGL 3.3やOpenGL 4.xベースのアプリケーションを移植する難度は,OpenGL ES 3.0で劇的に低下したとしている。
OpenGL ES 3.0とOpenGL 4.xとの間にある大きな違いは,「OpenGL ES 3.0にはジオメトリシェーダやテッセレーションステージが用意されていない」点だ。それ以外の仕様は共通する点が多いというわけだが,以下,Khronosが「ホットトピック」として挙げているOpenGL 3.0の新要素を,項目別にチェックしてみることにしよう。
■テクスチャ関連機能の拡張
OpenGL ES 3.0ではテクスチャフォーマットにまつわる旧世代の制約がほぼすべて取り払われた。 一例を挙げると,OpenGL ES 3.0では,一辺が2のべき乗(あるいは累乗)サイズに限定されない。OpenGL ES 3.0では256×256テクセルのような2のべき乗サイズだけではなく,257×257テクセルなどといった,16進数的にキッチリしないサイズのテクスチャも扱える。 また,RGBのRだけなどといった1要素テクスチャ,あるいは2要素テクスチャを扱えるようになったため,画面座標系のベロシティ(velocity,速度)情報,法線ベクトルのような汎用数値の格納も行いやすくなっている。
ゲームグラフィックスの描画に直接“効いて”くる新要素としては「Depth Textures with Shadow Compares」(影判定を伴ったデプステクスチャ)が挙げられるだろう。 これは一部のOpenGL ES 2.0プラットフォームで拡張仕様として使われていたもので,デプスシャドウ技法における「影か否か」判定をアクセラレーションできる機能になる。
■OpenGL 4.3との共通要素として加わった
■新しいテクスチャ圧縮法(1)?ETC2/EAC
開発者の間では「2012年のOpenGL ES 3.0とOpenGL4.3の発表で,この部分が一番ホットである」とさえ言われているのが,新しいテクスチャ圧縮法「ETC2」「EAC」だ。私見を挟ませてもらうなら,これはMicrosoftのDirectX側も早急に対応が迫られる要素だといえる。
ATSCにおける,ブロックサイズと,1ピクセルあたりのbit数(BPP,Bit Per Pixel),圧縮率の関係対応。同じBPPならば従来手法よりもノイズが乗りにくいのがASTCの特徴だ
なお,rmt,ASTCもロイヤリティフリーの技術として公開されており,OpenGL ES 3.0およびOpenGL 4.3時点では前述のとおり「Khronos標準拡張仕様」という扱いになっているが,近い将来,OpenGLおよびOpenGL ESの標準仕様に組み込まれる見込みとなっている。筆者も,NVIDIAの次世代GPU——TegraなのかGeForceなのかは不明——がASTCのハードウェアデコーダを実装する計画があるという情報を掴んでいるので,ASTCは今後,業界内で広く普及していく可能性がありそうだ。
ASTCは近未来的にOpenGL ES(&OpenGL)の標準仕様へ
■最新世代のプログラマブル
■レンダリング手法に対応
冒頭で述べたとおり,OpenGL ES 2.0もプログラマブルシェーダアーキテクチャに対応しているが,OpenGL ES 3.0では,その機能が一気に,OepnGL 3.3&4.xやDirectX 9&10に近いものにジャンプアップした。
CPUパワーとバス性能にそれほど余裕がない組み込みの世界では,CPUとGPU間で生じるデータのやりとりを抑えたい。 そこでOpenGL ES 3.0では,rmt,「Instanced Rendering」(インスタンストレンダリング)がサポートされた。これは,DirectX 9.0c世代でアピールされた「Geometry Instancing」(ジオメトリインスタンシング)に相当する機能だ。具体的には,3Dモデルの形状(=ジオメトリ)が同一の場合,一度それをGPU側に転送したあとは,座標位置やアニメーション,テクスチャのパラメータ違いで複数個を一気にレンダリングできる機能であある。
またOpenGL ES 3.0では,複数のレンダーターゲットに同時出力できる「MRT」(Multi Render Target)もサポートされる。OpenGL ES 3.0の仕様上は,MRT4(最低でも4つのレンダーターゲットに対するMRTのサポート)を保証する必要があるとのことだ(※DirectX 10以降ではMRT8)。 ちなみに,「『Mali-T604』のDeferred Renderingデモ」は,MRT4を活用したものだったりする。
MRT4のサポートを実現
なおそのほか,これから描画する3Dオブジェクトの遮蔽率を求める機能である「Occlusion Queries」(オクルージョンクエリ)などもOpenGL ES 3.0ではサポートされる。
■OpenGLアプリとOpenGL ESアプリの
■相互移植性を高める拡張タグ追加
Khronosでは,「将来的に,ゲームを含むPC/ワークステーション向けアプリケーションが携帯機器向けに移植されたり,あるいは逆のパターンが発生したりするケースが多くなる」と見込んでいる。そして,そのときプログラムの書き換えを最小限にするために,OpenGL 4.3とOpenGL ES 3.0で横断的に利用できる拡張仕様APIを両APIに追加した。 タグは「KHR_」。前出のASTCは,まさにこのKHR_タグの範疇に入る機能となる。
■OpenGL ES 3.0専用ベンチマークの発表
OpenGL ES 3.0に合わせ,OpenGL ES 3.0の機能を積極的に活用したベンチマークソフト「GLBenchmark 3.0」も発表された。 開発したのはハンガリーので,MRTを活用したDeferred Renderingベースのグラフィックスエンジンで動作しているという。
そうした動向に応えるべく,OpenGL 4.3では,OpenGL ES 3.0との互換性が取られることになった。分かりやすく言い変えるならば,OpenGL 4.3は,OpenGL ES 3.0のスーパーセットになったということだ。 ETC2/EACおよびASTCに対するテクスチャ圧縮メソッドへの対応状況も,OpenGL ES 3.0に準じたものになる。
DOOM 3 (C)2012 Bethesda Softworks LLC. Trademarks belong to their respective owners. All Rights Reserved
Left 4 Dead 2 (C)2009 Valve Corporation. All rights reserved. Valve, the Valve logo, Left 4 Dead, the Left 4 Dead logo, Source, the Source logo, Half-Life, Counter-Strike, Portal and Team Fortress are trademarks or registered trademarks of Valve Corporation in the United States and/or other countries.
そうした動向を受けてか,Valveは同社のヒット作「」をOpenGLベースでLinux上に移植し,Steamで2012年7月から配信を開始している。開発メンバーが,同一ハードウェア上でWindows(≒DirectX)版とLinux(≒OpenGL)版のLeft 4 Dead 2を動かし,その性能比較をことは,大きな反響を呼んだ。後者のほうが20%も性能が高かったのは,一部でセンセーショナルに報道されたりしたほどだ。
OpenGL最新事情
WindowsでもOpenGLは動くので,ゲームデベロッパ側が,PCゲームをOpenGL 4.3で開発し,それを少ない手間でOpenGL ES 3.0ベースの携帯機器へ移植する……という流れを選択していくことは,自然な流れだともいえる。
Metro: Last Lightは,2010年にリリースされたの続編だ。SF小説家ドミトリー?グルホフスキー氏の小説をベースにしたストーリーで,ファシスト勢力やミュータントと戦いながら,Dark Oneとの決戦を目指してゲームを進めていく。現在のところ,2013年第1四半期にリリース予定となっている。