mathjax

2017年12月17日日曜日

「GPUを支える技術」読み始め

長い間、積読していたHisa Ando著「GPUを支える技術」を読み始めた。

Andoさんの本は、内容が高度なので、一つ一つ読み込まないと理解ができない。ということで、出版された6月末頃にすぐに買っていままでろくに読まずに来た次第。

それがなぜか今日は初めから3.3章まで(96/320ページ)するすると読めた。79~96ページは西川善司さんの特別寄稿となっているのだけれど、今回Andoさんの本で良かったのは、西川さんたちの説明をこれまで読んできて分からなかったことが、Andoさんの説明だと何となく分かったような気がしたからだった。(Andoさんはプロセッサ開発をしていた方だというので、おそらくGPUの歴史などはそれほど詳しくない。説明するために調べてまとめてくれたものだから分かり易いのではないかと思う。)

「バーテックス・シェーダーとピクセル・シェーダーがあって、ジオメトリ・シェーダーとか言うのも出てきたり、テッセレーションとかいう機能が出て来たらしいけど、最後はユニファイド・シェーダーとか言ってもう何のことか分からなくなった。」というのがこの本を読むまでの私の理解だった。それが、この本を読んで、「あ、もしかしたらこういうことかも」という所まで来た。あとは、ネットの情報などと照らし合わせてゆけば、それなりにしっかりとした理解に辿り着けるだろうと思われる。

1点、2.4章の初めに“グラフィックスでは座標はX、Y、Z、Wで表すことは前に述べましたが”とあるけれども、3次元を表すX、Y、Zは説明されたけれど、Wは突然現れ、何なのかという説明がされていなかった。これは説明忘れなのだろうと、ネットの情報を調べ始めて、この本の中で説明しきれるようなものではないから、あえて説明を省いたのだろうと思った。

「クォータニオン(四元数:しげんすう)」と呼ぶらしく、検索して出てくる説明が全部意味が分からない。
naochang | 座標変換:クォータニオン、オイラー角
こちらの方の説明、および参考情報の紹介で、「ジンバルロック」は分かった。「クォーターオン」は分からない。参考情報で登場する「実例で学ぶゲーム3D数学」の内容が、今自分が理解したいことが良く載っているように思われた。クォータニオンだけでなく、図形の変換など丁度理解したかったので、良い資料が見つかった。(ただし、Amazonのコメントでは訳に問題ありとされているし、こちらの著者のサイト、
Video Game Math | Homepage of 3D Math Primer for Graphics and Game Development
にあるプレゼンテーション資料などを見ると、自分でも分かりそうな英語で説明をしてくれているように思うので、第2版の原書を入手しようかと思う。

0 件のコメント:

コメントを投稿