1 / 14

Caustics Triangles on the GPU

Caustics Triangles on the GPU. Umenhoffer Tam ás Gustavo Patow Szirmay-Kalos László. Caustics – Causticus – Kaustikos. shooting. specular. Generation of caustic paths. gathering. specular. specular. Caustic generation on the GPU. Multipass synthesis (Arvo, Jensen, Shirley)

eve-oneill
Télécharger la présentation

Caustics Triangles on the GPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Caustics Triangles on the GPU Umenhoffer Tamás Gustavo Patow Szirmay-Kalos László

  2. Caustics – Causticus – Kaustikos CGI

  3. shooting specular Generation of caustic paths gathering specular specular CGI

  4. Caustic generation on the GPU • Multipass synthesis (Arvo, Jensen, Shirley) • Photon tracing from the light sources: Photon map • Final gathering for the camera • Ray tracing on the GPU: How? • Ray tracing of the original geometry: Ray engine(Carr02), Regular grid (Purcell02), octree (Meseth05), kd-tree (Foley05, Popov07, Zhou08), BVH (Carr06),ray-hierarchy (Szécsi06,Roger07). • Ray tracing of the sampled geometry: Shadow map (Shah06,Wyman06), Height map (Oliveira04), Distance map, Layered Depth Image (Krüger06) or layered cube maps (Umenhoffer07) CGI

  5. distance Ray tracing on distance maps CGI

  6. Linear search (marching) r’ r d x r = x + Rd undershoot: |r|<|r’|=distMap(r) overshoot: |r|>|r’|=distMap(r) R CGI

  7. Linear search (marching) x |x| |R| t 1-t R d = CGI

  8. Secant search CGI

  9. Photon power distribution • Where to store photons? – neighborhood! • Object space (Purcell03), texture space(Szirmay05), ray space(Krüger06), shadow map space (Shah06), • This paper: cube map space • How to filter? • Nearest neighbor search (Jensen95, Purcell03, Zhou08), splatting (all others), • This paper: caustic triangles. small right large CGI

  10. Photon tracing Hit location power Triangle area CGI

  11. Filtering Photon hits Triangles with dummy vertices Vertex shader Pixel shader Vertices on the cube map face Additive blending CGI

  12. Final gathering CGI

  13. Results 60 FPS (NV6800) CGI

  14. Conclusions • Caustic generation algorithm • Stores and filters photon hits in the space of the cube map used to trace rays • Good neighborhood: during filtering visibility from the caustic generator is also taken into account • Renders caustic triangles instead of splatting • No overblurring • Continuous signal automatically • caustic triangle = adaptive filter CGI

More Related