Try   HackMD

Raytracing(Joshua Barczak)

原文

Single Ray Traversal

QBVH:4-ary tree (每個節點有4個子樹),node holds the bounding boxes of its four children
用 SIMD 處理一次4個子樹
缺點:子樹(物件)數量與SIMD處理的數量不同時,使用率變差

Packet Traversal

grouping multiple rays into SIMD-sized groups
優點:降低記憶體開銷
缺點:需處理 coherence (原本每個 ray 所需的運算次數不同)

Streaming Traversal

a variant of packet traversal, in which a very large packet is used
ray missed:remove

My Traversal

Overbeck-esque partition scheme with adaptive ray packet re-ordering
將 rays 八等分 (因為適合AVX?還是座標方向切割?)
2x unrolling
maintain a running pop-count of the number of rays which have not missed an earlier node

If any packets hit the node, we partition out the missed ones and then the group count and child nodes onto our traversal stack.

Intersection Testing

參考 Kensler and Shirley
以及原本的實作

Ray Reordering

SIMD Prefix Sum

Re-Reading Rays

名詞

BVH:Bounding Volume Hierarchy