Uneven Prankster

"Indiedev who traced the rays."

/*/*/ The Future is Raytraced

What is a "raytracing", dear lad?

Raytracing is a technique commonly used for graphics processing in which tens of thousands of "rays", commonly an extension of vectors, are thrown about in a scene, capturing data from hit geometry or reporting the lack there of. This is then used to construct a result.

I wish they explained it more like this. This is anyways a pretty light interpretation of the algorithm but you get the point. This process is focused on being accurate and capable of being highly parallelized (that is, run by the multiple cores of the processing units of your machine pretty well), and also capable of producing very photo-realistic imagery.

So what's the deal now?

Until recent years, while this was known to be the case, we used the Rasterization algorithm instead, which is able to be extremely more quick but requiring lots of tricks to make it look very good. However, graphics processing units are starting to implement cores and algorithms that can process Raytracing fast enough that we can now do some of it in Real-Time. Yes, that's the RTX that nvidia loves to talk about.

These are still pretty expensive, and not many games use it, and neither is the usage pretty crazy. Mostly it is used for reflections, an often tricky thing to do in Rasterization which can either take too long or look odd.

However, 3D rendering in gaming started too as a gimmick people said it would never catch on, and now all the big games use it. Raytracing is no different. It'll bring accurate rendering and ease in construction of effects and ideas like never seen before. Imagine the mirror actually correctly reacting to you throwing a cube at it. Or lightning being highly dynamic and correct as far as our understanding of physics goes. We could already do it in Rasterization, but always odd. And now we're even! (not me tho)

Currently, the Vulkan API has recently introduced an extension to bring a common Raytracing platform for both nvidia and amd. This will hopefully make it easier for developers to have Raytracing for games that can work on both graphics cards and so on. Still pretty early to say but that's what I hope! We all can have little a Raytracing.

Where do I look for more info?

Fear not! I keep tabs on game dev discords, channels, discord channels and twitter. I have a few things in mind you could take a look at to get better informed. Be aware you may need some programming language knowledge, (preferably C, C++, etc. but weblangs and others are ok!) but you can try learning some in your own pace.

Wikipedia's Take

Scratchapixel - Uses C++, Good Stuff

Raytracing in One Weekend Books - Uses C++, Photo-Realist

Ray Tracing Gems - Open Source Book, Industry Smarts

Real Time Rendering's RT Section - Industry Smarts

PBR Book - Open Source Book, Industry Smarts, Photo-Realist

Inorange RTX Vulkan Tutorials - Uses C++, In The Works!