4 ms·
This approach was originally developed by Alex Sanikov for Path of Exile 2. Of course in PoE2 it's used in full 3d. The benefit of this approach is that you g
by Negitivefrags 2y ago
This approach was originally developed by Alex Sanikov for Path of Exile 2.
Of course in PoE2 it's used in full 3d.
The benefit of this approach is that you get global illumination with a constant cost for the entire scene and because it doesn't use any temporal acculation, it has zero latency as well.
This means you can rely on it as the lighting for fast effects. For example: https://www.youtube.com/watch?v=p1SvodIDz6E https://www.youtube.com/watch?v=p1SvodIDz6E
There is no traditional "lighting" added to these two effects. The light on the nearby surfaces is indirect light from the GI solution that you get for free by just spawning the particles. That means all effects just naturally emit light with no extra work from artists.
On my GPU (which is admittedly a 4090) the GI solution runs in 0.8ms for a 4k scene in "High" quality. This is exactly what it will always cost, no matter what scene you choose.
- stonethrowaway 2y agoIn the age of PoE is Diablo even relevant anymore?
- isaacimagine 2y agoFrom what I understand, PoE2 has a fixed-perspective camera, so radiance is calculated in screenspace (2D) as an optimization (and not using a 3D texture). It would be interesting to see how the performance of this technique scales to full 3D, as that would be significantly more expensive / require a lower-resolution voxelization of the scene.
- corysama 2y agoFrom offhand comments I've read, you are right. It's not practical for 3D.
- Negitivefrags 2y agoThe source data is indeed from screen space, but this generates a full 3d data structure by ray marching the depth buffer. Its not using the 2D algorithm. In PoE2s case, it doesn’t need to go further since light sources are not usually going to be behind the camera. You can gather data in other ways.
- midnightclubbed 2y agoOne caveat is doing screen space means anything offscreen doesn’t contribute to lighting. For a fixed perspective dungeon or 2d game it works great, but a light source behind a column or in another room will cast no light on the scene
- jasonjmcghee 2y agoThere are multiple ways to solve this issue. The most naive would be rendering to a larger texture and cropping, but with radiance cascades you can do better- you could only render what's necessary based on per-cascade interval lengths. Depending on needed accuracy, you could calculate it similar to ambient light, only calculating it for the largest cascade- wouldn't be perfect, but could feel pretty natural. Definitely an area that could use more research!
- Log_out_ 2y agoNot entirely true, you can do the column with a 2nd depthmap rendered from the twincamera at maxdepth with lightsources.
- TinkersW 2y agoIt looks fine, but I have yet to see any examples scaled up to an outdoor scene where you can see for miles(I don't even know if this is possible?). Also the article this post links says this is diffuse only.. kinda not so impressive as specular is also very important. I assume this means they are using a diffuse model that is view direction independent so Lambert.. which is a rather crummy diffuse model.. the better diffuse models are view dependent..
- abetusk 2y agoThere was someone else who linked to a longer talk from Sannikov where he directly addresses specular GI: https://www.youtube.com/watch?v=TrHHTQqmAaM&t=2275s https://www.youtube.com/watch?v=TrHHTQqmAaM&t=2275s