Path-Traced Global Illumination in Real Time !

Hi,
Just to see the futur into the eyes of NVIDIA :wink:
[url]http://research.nvidia.com/publication/2017-07_Spatiotemporal-Variance-Guided-Filtering%3A[/url]

[url]Real-Time Noise Filtering For Light Simulations | Two Minute Papers #181 - YouTube

Voxel cone tracing seems like something more viable for real time. youtube.com/watch?v=-7U6JgbFCVM

I think someone can easily port this over to TD with a shader. I would do it if I was super knowledgable in GLSL but that I am not.

hi guys that’s not connected only in glsl affair. cryengine, unity and unreal have a process for baking in shaders data precalculated for realtime. if you work with 3d software like cinema 4d or 3ds max with vray, the process is quite similar for the calculation of irradiance map and light cache. In the case of touchdesigner the great render engine is able to create some filters for light dispersions via glsl (bokeh effects and other visuals stuffs) but for the rest if you want obtain a scene light this you have to do a texture baking for non direct light in 3ds max with vray, create a uv map for bake the texture calcuated on 3d objects and after import the result on TouchDesigner. the next step is create direct light with raytraced shadow or soft shadows… it depens by the look. after this apply in post effects for camera artifacts, etc…

TouchDesigner at moment, we have to say, that doesn’t have a phisycal collision engine based on bounding box and this create a lot of problem for moving inside the ambients… i suggest to skip TouchDesigner for this kind of works because is like create the wheel another time. the rest of the engine suggest before work more simplier for this kind of stuff.

anyway for research purpose i apply a different kind of work but based on this concept.

youtube.com/watch?v=bTaSQ872azs

I’ve brought this up and voxelisation in general to Malcolm at Derivative as has Vincent Houzé (vinz99) as we’d both like to have capabilities extended in touchdesigner to work with voxel grids in the form of 3d textures and sparse voxel octrees but it I believe to properly integrate these into TouchDesigner, it will require some abstraction for access to imageStore() imageLoad() and/or access to SSBOs so one could share some memory space or barrier between say, a GLSL TOP with a compute shader (or a C++ TOP) that handles the voxelisation grid or octree, and a GLSL MAT(s) for handing off the geometry for voxelisation and then cone tracing the resulting voxelised scene (or doing something else like rendering a generative 3d reaction diffusion system, etc.)
And importantly, it’s essential to be able to combine and transform these in a single scene like one would with conventional geometry COMPs and camera, light COMPs etc.

Nvidia has their VXGI approach and while optimised, it’s more or less a black box with a C++ api you can send geometry and get out voxels and the calculated indirect lighting, etc, but you can’t add to or extend the cone tracing algorithms afaik.

I’m sorta rambling out of my head rn tbh so i may be incorrect on these speculative details of but just wanted to share my take on this based on when i was last attempting such an approach for real-time global illumination in TD and the issues i ran into and ultimately emailed Derivative about some months ago.