レイトレーシング高速化プログラム

現在位置のナビ

トップコンピュータの国フリーソフト → レイトレーシングの高速化プログラム

概要

ここで公開しているプログラムは、webmasterの修士論文に記載したプログラムを C++ に移植し、機能拡張したものです。

研究部分は高速化に関するもので、詳細は Nicograph 88 で発表したwebmasterの論文『画像生成におけるCPG(Constructive Plane Geometry)データの提案』を参照してください。

1988年に発表したアイディアですので、最新のレイトレーシングプログラムには全てに採用されていてもおかしくありません。

サンプル画像

アルゴリズム

論文が手に入りにくい人のために、高速化について簡単に説明します。

この高速化は、レイトレーシングの無駄である『物体が存在しない方向に視線を飛ばして交点を求めようとする』作業を省くものです。 2次曲面のCSG表現において、物体の輪郭を求め、その中だけに視線を飛ばします。 直方体についても簡単に存在範囲の囲い込みを行っています。

これ以上の詳細は、論文とソースコードを参照してください。

著作権

このプログラムは、GPL で配布します。

このプログラムは形状定義ファイルのフォーマットに、参考文献である CQ出版 山本強著 『コンピュータグラフィックス』で採用されているものを流用しています。

そのため、形状定義ファイル関係で山本様の著作権が発生しますが、今回の配布に関して御本人に了解を求め、快諾して頂きました。 この場を借りてお礼を申し上げます。

具体的に書きますと、以下の事項全てを GPL に従って扱って良いとのことです。

  • 本プログラムを再配布したり、改良を加えて再配布すること。
  • 参考文献で定義されたファイルフォーマットを使用すること。
  • 参考文献に載っている作例ファイルを使用、変更したり、出力結果の画像ファイルを再配布すること。

また山本様の希望として、「参考文献の記述が参考になった場合、参考文献名を明示して頂けると嬉しい」とのことでしたので、再配布の際には、ご配慮願います。

蛇足

ここの記述を読んで、「Webmasterはファイルフォーマットに著作権を認めている」なんていう間違った主張をしているお子様がいるようなので、その点について解説しておきます。

参考文献を読んだ方にはお分かりの通り、参考文献にはファイルフォーマットの詳細が解説されていません。 つまり、ファイルフォーマットを理解するには、プログラムソースを読む必要があるわけです。 プログラムソースを読んで理解したファイルフォーマットのアクセス方法には、当然のことながらソースコード著作者の著作権がおよびます。 この点について原著作者にうかがいをたてて、GPL ライセンスでの公開に許可をいただいたと言うことです。

個人的には、ファイルフォーマットであっても、独創的なものは何らかの手段で保護すべきだと思います。 しかし、そのために利用する法律は、著作権ではないでしょうね。

プログラム

対応OSファイルサイズバージョン日付
unixC++ソースと物体形状定義ファイル cg.tgz20,987 Byte1.22019年7月28日

makeするとできるバイナリのうちrt が従来の手法を用いたもので、cpg が高速化されたものです。

アフターケア

もしも、「原理を簡単に講義して欲しい」「市販のプログラムにこのアルゴリズムを追加したいが、GPL ライセンスでは困る」 というご希望がありましたら、お応えしますのでメイルでお問い合わせください。

この研究に関する御意見、御質問は、 メイル で。

2001年9月5日 初出
2019年7月28日 追記

back button もどる