試験公開中

このエントリーをはてなブックマークに追加

週末レイトレーシング

達人出版会

600円+税

予備知識不要でライブラリも使わず、週末だけで表紙のような画像が描けるレイトレーサーを自作してみませんか? 『Fundamentals of Computer Graphics』の著者が送る、レイトレーシング入門書三部作第一巻。

関連サイト

本書の関連ページが用意されています。

内容紹介

レイトレーサーをゼロから自作してみませんか? 本書はレイトレーシング入門書三部作の第一巻になり、画像生成、ベクトルクラスの作成といった基本的なプログラミングから始めて、本書表紙のような画像を作成できるようになるところまでをご紹介します。

長い間、グラフィックスのクラスを担当してきましたが、そこではよくレイトレーシングを扱っていました。というのも、私は生徒にはできるだけすべてのコードを自分で書いてほしいと思っていて、その点レイトレーシングであれば外部のAPIを一切使わずに、見た目のよい画像を得ることができるからです。本書はできるだけ短い時間ですばらしいプログラムを得られるようにすることを目標に、そのクラスのノートを具体的な手順としてまとめたものです。最終的に得られるレイトレーサーの機能は完全ではありませんが、映画でレイトレーシングがよく利用されている主要な理由である間接照明を実現できます。本書の手順に従って作成するレイトレーサーのアーキテクチャは、将来レイトレーシングへの興味が増してより深く学びたいと思ったときに、さらに強力なレイトレーサーに拡張していく土台として十分なものです。

「レイトレーシング」という言葉はさまざまな意味で使用されます。本書でこれから説明するのは技術的にはパストレーサーと呼ばれる、非常に一般的なものです。使用するコードは非常に単純ですが(複雑なことはコンピューターに任せましょう!)、それを使用して作成できる画像には十分満足してもらえると信じています。

デバッグ用のテクニックをいくつか紹介しながら、私がいつも行う順序でレイトレーサーを作成します。本書の最後には美しい画像を作成できるレイトレーサーが手に入るでしょう。この週末を費やせばすべての作業は完了できるはずです。とはいえ、それ以上に時間がかかったとしても特に気にする必要はありません。私が実装に使用する言語はC++です。読者の皆さんが私に合わせる必要はありませんが、できれば同じようにC++を使ったほうがいいでしょう。高速で可搬性があり、ほとんどの映像プロダクションやビデオゲームでC++で記述されたレンダラが使用されています。ただし、本書ではなるべくシンプルな実装を紹介するため、レイトレーサーの実装には非常に有用な継承と演算子オーバーロードの2つの機能を除き、C++の「モダンな機能」の大部分を敢えて使用していないことに注意してください。

(「はじめに」より)

書誌情報

  • 著者: Peter Shirley(著), あんどうやすし(訳)
  • 発行日:
  • 最終更新日: 2017-06-20
  • バージョン: 1.0.0
  • ページ数: 79ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: 達人出版会

対象読者

レイトレーシングに興味がある人、自分でレイトレーサーを書いてみたい人

著者について

Peter Shirley

NVIDIA主任科学研究員、ユタ大学計算機科学科非常勤教授。

あんどうやすし

株式会社カブクでWebGL(Three.js)を使用した製造業向けシステムの3Dビューアーの開発を担当。九州大学大学院の航空工学科を修了後に異業種に就職して、ここ10年以上はいわゆるウェブ系の開発に携わって来たはずなのに、今になって製造業に近いところで仕事をしていることが少しおもしろい。翻訳書に「初めてのThree.js 第2版」(オライリー・ジャパン刊)などがある。

目次

はじめに

第1章 画像の作成

第2章 ベクトルクラス

第3章 レイ・カメラ・背景

第4章 球

第5章 法線と複数オブジェクト

第6章 アンチエイリアス

第7章 拡散反射マテリアル

第8章 金属マテリアル

第9章 誘電体マテリアル

第10章 カメラアングル

第11章 焦点ボケ

第12章 その先へ

謝辞

Home 書籍一覧 週末レイトレーシング ▲ ページトップへ戻る