最初に、非常に高速なアルゴリズムを使用していることを確認する必要があります (それらを実装するのは本当に面倒ですが、何をしたいのか、どこまで行きたいのか、どれだけ高速であるべきか、それは一種のトレードオフです)。
私からのいくつかのヒント-メールボックス技術を使用しないでください.論文では、カウントオーバーヘッドのために実際のアーキテクチャでうまくスケーリングできないことが時々議論されています-BSP/Octtreesを使用しないでください.それらは比較的遅い. -レイトレーシングにGPUを使用しないでください。反射や影、屈折、フォトンマッピングなどの高度な効果には遅すぎます(シェーディングにのみ使用しますが、これは私のビールです)
完全な静的シーンの場合、kd-Tree は無敵であり、動的シーンの場合、クアッドコアで非常にうまくスケーリングする巧妙なアルゴリズムがあります (上記のパフォーマンスについてはわかりません)。
そしてもちろん、本当に良いパフォーマンスを得るには、非常に多くの SSE コードを使用する必要があります (もちろん、ジャンプはあまり多くありません)。 SSEのものを実装します。
そして、私が話していたいくつかのアルゴリズムに関するいくつかのまともな論文:
「Fast Ray/Axis-Aligned Bounding Box - Ray Slopes を使用したオーバーラップ テスト」(非常に高速で非常に優れた並列化可能 (SSE) AABB-Ray ヒット テスト)(注: 論文のコードはすべてのコードではありません。紙、あなたはそれを見つけるでしょう)
http://graphics.tu-bs.de/publications/Eisemann07RS.pdf
「ダイナミック バウンディング ボリューム階層を使用した変形可能なシーンのレイ トレーシング」
http://www.sci.utah.edu/~wald/Publications/2007///BVH/download//togbvh.pdf
上記のアルゴリズムがどのように機能するかを知っている場合、これははるかに優れたアルゴリズムです。
「動的シーンにおける高速レイ トレーシングのための事前計算された三角形クラスターの使用」
http://garanzha.com/Documents/UPTC-ART-DS-8-600dpi.pdf
また、pluecker-test を使用して、ポリゴンにヒットしたかどうかを高速に判断しています (それほど正確ではありませんが、すべてを取得することはできません)。SSE 以上で非常にうまく機能します。
つまり、私の結論は、レイトレーシングに関連する非常に多くのトピック (高速で効率的なツリーの構築方法とシェーディングの方法 (BRDF モデル) など) について、非常に多くの優れた論文が世の中にあるということです。 「実験」という驚くほど興味深い分野ですが、非常に複雑ですが面白いので、十分な時間も必要です。