概要
2Dや3Dなどのコンピュータ画像処理を担うGPU(Graphic Processing Unit)は性能向上が著しく,その処理能力を活かすためのソフトウェア開発が求められています。GPUはCPUと異なり並列処理機能に秀でており,複雑な図形計算を高速処理できるからです。本書はGPUによる並列処理機能を軸に,nVIDIA社のCUDA(Compute Unified Device Architecture)の利用方法とOpenGLのプログラミング方法を基礎の基礎から解説します。コンピュータグラフィックスのプログラミングを実践するための理論を学べます。C言語の知識は必須です。
こんな方におすすめ
- OpenGL、CUDAを利用したプログラミングの基礎を学びたい方に
著者から一言
本書の執筆にあたっては多くの方々にご支援いただいた。まず著者に出版の機会をご紹介いただいた(株)タイムインターメディア社の藤原博文氏と,執筆中に様々な形でサポートいただいた(株)技術評論社の池本公平氏に感謝したい。また粒子法と拡散方程式の説明において,著作からの例題の利用をお許しいただいた東京工業大学の青木尊之教授と(株)工学社の白鳥達哉氏にも心から感謝したい。さらに序章の図版と,メタボール法及びマーチングキューブ法の説明においてアルゴリズム利用を許諾いただいたNVIDIA Japanにも心から感謝する。本書で取り上げたプログラムのいくつかは,著者が茨城大学で研究してきた成果がベースになっている。かつて研究室に在籍した多くの大学院生,とりわけ垣尾良輔君と長谷川裕二君に感謝したい。
著者は,1999年にGPU(当時はまだGeometry Engineと呼ばれていた)を用いて図形計算を高速化するアイデアを発案し,それらを特許出願する機会を得た。この特許は我が国の様々な企業でものづくりに活用されている。特許出願の機会を与えてくれた独立行政法人科学技術振興事業団(現,事業機構)と,特許を実用に結びつけてくれた企業の多くの技術者の方々に深く感謝したい。特許出願や実用化の過程での経験は,その全てが著者の研究において大きな資産となっている。厳しい状況の中,優れた研究環境実現のために努力を続けている茨城大学工学部の方々,とりわけいつもご支援いただいている知能システム工学科の梅津信幸講師と事務補佐員の皆さんにも心から感謝したい。
本書の執筆は,2年ほど前にGPUを用いた並列図形処理の例題を集めることからスタートした。以後,帰宅後や週末のかなりの時間を,プログラミングと本書の執筆に割いてきた。帰宅しても自室でPCに向かってばかりの著者を温かく(時には厳しく)励ましてくれた妻と子供たちには言葉で表しきれないほど感謝している。ページ数の制約もあり,立体モデルのボクセル化,断面図生成,距離場計算,厚み評価,接近可能性解析,集合演算など,多くの例題を本書から外すことになってしまった。もし機会があれば,これらを解説する本書の続編を執筆したいと考えている。
最後に,著者が研究者の道を歩むことをいつも応援してくれている父と母に心から感謝したい。中学生時代に買ってもらった高橋製作所の天体望遠鏡が,私の研究者人生の出発点になった。今も手元にある望遠鏡で星空を眺めながら,豊かで平和な時代に研究を続けられることの幸せを心から感じている。
補足その他
補足情報ページより,本書掲載のサンプルソースコードがダウンロードできるようになっています。本書を読み進めるにあたりぜひご利用ください。