[WebGL書評] 洋書ながらその貴重な情報はまさに Insights の名を冠するに相応しい! WebGL Insights
かなり深いところまで切り込んだ一冊
今回は久しぶりの WebGL 書評 シリーズでお届けします。
ここでご紹介する書籍は、始めに断っておくと洋書です。つまり全編英語で書かれています。もう既にその時点で敷居がかなり高い感じもしますね。
英語はちょっと無理や……と諦めてしまうのは簡単ですが、ちょっとくらい中身の内容を確認してみるというのはいかがでしょうか。
記事タイトルとしては書評と銘打っているものの、英語の書籍ということもあって詳細に書評するにまで至らないかもしれませんが、何かのお役に立てばという思いで、ご紹介しようと思います。
全七章、充実の内容
こちらの書籍は Kindle 版もありますがハードカバーの物もあります。いずれもかなり書籍としては高額な部類に入ります。
3DCG や OpenGL についてある程度詳しい方であれば、OpenGL Insights をご存知でしょう。OpenGL のいわゆる大型本で、その内容の確かさやボリュームから、愛読している方が非常に多いタイトルです。
たとえば日本でも技術書と言えばオライリーみたいな雰囲気がありますが、OpenGL Insights もまさにそういった OpenGL やるならこれ読んどけば間違いない! という雰囲気を持っている本だと思います。ちなみに日本語版の OpenGL Insights は 13,000 円以上します……高い!
そんな「Insights」の名を冠する本書は、WebGL 版の OpenGL Insights と考えていいと思います。実に 40 人以上の第一線級のエンジニアが筆を執り、それぞれが得意とする技術の粋を集めた、そんな書籍になっています。
書籍はなんとフルカラー!! コードも読みやすい。
OpenGL Insights にも言えることなのですが、OpenGL という開かれた API を使う開発者のコミュニティの中から、優れたエンジニアが集い、筆を執り、積極的に技術をシェアしていこう、というのが Insights シリーズの根底にある理念です。
WebGL Insights の執筆者たちも、恐らくみなさんが一度はウェブ上でその登壇する様子や発言を目にしていたり、あるいは知らず知らずにその作品を見ていたりする方たちばかりだと思いますよ。私なんかからするとオールスターみたいな感じですごいです(笑)
導入から基本、そして高度な応用技術まで
書籍全体を通して見てみると日本ではなかなか見られないような、かなり貴重で高度な内容までを含む本書。
とは言っても、最初の導入部分は WebGL の歴史などから始まる構成になっており、いきなりページ全体を埋め尽くすコードが怒涛のように押し寄せてくるという感じではありません。
ただ、全体的に WebGL が 扱えることはもはや大前提 として書かれているところが大きいので、3d プログラミングや WebGL を全く知らない状態で本書を手に取るのは無謀だと言えます。
ただ、その専門性の高いハイレベルな内容は、中級者以上の人たちにとってはかなり参考にできる部分が多いと思います。モバイルでの実装や 3D エンジンとしての WebGL 実装やその実例の紹介、さらには Deferred Shading(遅延レンダリング)や HDR Image-Based Lighting など、WebGL にはちょっと早すぎるのでは!? と思わず言いたくなるようなものまであります。
もちろん画像もカラーで掲載されています!
後半では、WebGL を用いたデータの可視化について踏み込んだ内容や、カメラ周りの動作をリッチに実装するためのテクニック、さらに、WebGL を用いたアプリケーションにおけるユーザビリティに言及したものまで出てきます。
少なくとも、現在日本語の情報として、こういった内容をしっかり扱っている書籍は OpenGL ならまだしも、WebGL ということになると存在しません。
非常に高度な内容を、コードや画像をふんだんに使って掲載している本書は、英語が苦手とか言っている場合ではないぞ! と思わず言いたくなるような内容です。とは言え、私も英語が苦手なので、あまり詳細には読み解けていません。その分、シンタックスハイライトの効いた見やすいコード表示や、画像の掲載が非常に助かりますね。
対象となる読者は
最初にも書いたとおり、本書は洋書であることも相まって初心者向けとは言いがたい、むしろその対極にある書籍だと言えます。
しかしその分、扱っている内容はかなり深いところまでを網羅しているので、OpenGL や DirectX などでこれまで実装されていた技術を、様々なテクニックを駆使して Web へと移植する助けになると思います。WebGL の場合かなり無理やり変化球でやらなければならない技術も多かったりします。たとえば浮動小数点のパック、アンパックみたいな……もちろん、その手の技術も本書には掲載されています!
ネイティブとはちょっと違う部分が多い WebGL というプラットフォーム上で、いかにハイエンドな実装を行うかを考えているなら、本書を手に取る価値はあるでしょう。また、最先端の WebGL 界隈では、どんなことをみんな考えているのか、垣間見える部分もあるように思います。
日本向けとなると読者はかなり限定されるとは思います。しかし、上級者を目指すのならぜひ手に入れたい一冊であることは間違いありません。
以下、目次です。
I. WebGL Implementations
1. ANGLE: A Desktop Foundation for WebGL
2. Mozilla's Implementation of WebGL
3. Continuous Testing of Chrome's WebGL Implementation
II. Moving to WebGL
4. Getting Serious with JavaScript
5. Emscripten & WebGL
6. Data Visualization with WebGL: from Python to JavaScript
7. Teaching an Introductory Computer Graphics Course with WebGL
III. Mobile
8. Bug-Free and Fast Mobile WebGL
IV. Engine Design
9. WebGL Engine Design in Babylon.js
10. Rendering Optimizations in the Turbulenz Engine
11. Performance and Rendering Algorithms in Blend4Web
12. Sketchfab Material Pipeline: From File Variations to Shader Generation
13. glslify: A module system for GLSL
14. Budgeting Frame Time
V. Rendering
15. Deferred Shading in Luma
16. HDR Image-Based Lighting on the Web
17. Real-Time Volumetric Lighting for WebGL
18. Terrain Geometry - LOD Adapting Concentric Rings
VI. Visualization
19. Data Visualization Techniques with WebGL
20. hare3d - Rendering Large Models in the Browser
21. The BrainBrowser Surface Viewer: WebGL-based Neurological Data Visualization
VII. Interaction
22. Usability of WebGL Applications
23. Designing Cameras for WebGL Applications
※以下のリンクから Amazon で書籍を購入していただきますと、当サイトに売り上げの一部が還元されます。