#CodingAdventure #video about #raytracing #graphics with BVH in #Unity. He’s using AABBs split spatially in half along the long axis, with triangles assigned according to their centers and the AABBs grown to fit. He’s using the Stanford Dragon as his test mesh. Apparently Unity’s shader language doesn’t support recursion, nested lists, or dynamic allocations, but syntactically looks very much like C#, except for out or inout on some parameters. while-loops are fine. You communicate with the shader by SetBuffering a “material” (RayTracingMaterial, I guess is what he called his shader), but the buffer names aren’t checked. Also he crashed the GPU by overrunning a buffer. Aha, and Unity wraps your mouse around the left and right edges of the screen when you’re dragging left or right on a number to adjust it. By building a 27-level deep BVH over an 81000-triangle reduced version of the model and using early ray termination tests, he was able to get that model to display at 325+ fps instead of being slow and janky. Further optimizations (maintaining integers rather than structs on the BVH stack, splitting nodes using the “surface area heuristic”, and reducing the size of his node struct) got to 600+. This version could handle the whole 870k triangle model at almost 500 fps. Finally he adds reflection and renders the model in the Sponza Palace.
#raytracing #graphics including #algorithms like resampled importance sampling, reservoir sampling, temporal reuse, spatial reuse, and #ReSTIR. Another very nice pure-CGI #video
on 02024-05-18Gabriel Gambetta, who wrote the 1-kilobyte JS #raytracing code, is releasing an awesome #ebook on computer #graphics under CC BY-NC-SA; it includes a relatively full-featured rasterizer and a relatively full-featured raytracer.
on 02020-12-01classic 1989 #ebook #pdf on #raytracing by Glassner, #CC by or maybe by-sa
on 02020-10-10#Raytracing in one weekend, #CC0 #public-domain #ebook #graphics
on 02020-10-10#Ray-tracing with global illumination “using unbiased Monte Carlo path tracing” in 99 lines of C++. #smallisbeautiful #rendering #graphics
on 02017-08-06Ken Perlin presents a live-editable explanation of #ray-tracing, using #WebGL GLSL. #explorable-explanations #graphics #rendering
on 02017-05-19preprint #PDF of reduced #affine-arithmetic #ray-tracing #paper with #GPGPU stuff from 2008
on 02017-05-19#paper “Fast #Ray-Tracing of Arbitrary Implicit Surfaces with Interval and #Affine-Arithmetic” #interval-arithmetic #graphics #toread with reduced affine arithmetic and #GPGPU goodness from 2008.
on 02017-05-19#pdf #paper “Ray Casting Implicit Fractal Surfaces with Reduced #Affine-Arithmetic” #graphics #ray-tracing #interval-arithmetic #toread This looks fricking awesome. From 2010.
on 02017-05-19"Rhodium liquid carbon", a truly amazing little #graphics demo in #WebGL, or really in GLSL, doing real-time volumetric #ray-tracing of a particle system with depth of field, refraction, and glow all in a couple hundred lines of code. By demoscene artist Virgill. #smallisbeautiful #rendering
on 02016-10-23