Implementing RTXGI Support

No clue how feasible this is, but it seems Nvidia has open sourced a very impressive Global Illumination implementation which performs well in real time.

Would something like this ever make it into TD?

Or otherwise a more general implementation of GI?

This is for instance a really good looking open source render engine that’s made for learning purposes which covers a bunch of features we’re currently lacking in TD.

1 Like

It looks like both of those repos are no-go for TD.
Rtxgi, although vulkan, relies on Nvidia graphic cards, that means no support on Mac.
The second link is writen for the opengl API, so no luck with modern TD.
Rtxgi could be build into a windows only custom plugin, not an easy effort though.

At this point we have several operators that rely on Nvidia cards though. Given its the industry standard its not entirely unthinkable to use RTXGI.

1 Like

It would surely be amazing to have some GI solution like this available in TD, but since things are moving forward very fast in this area I kinda feel like there will always be new (faster, more optimized and closer to ground truth) techniques - making it hard for TD to keep up with the state-of-the-art. Maybe it would be better to step back a little and rather consider looking at more future-proof solution like USD and Hydra delegates?

I mean, I feel like it would be just amazing to have access to the latest and most modern renderers (which have hydra render delegate). This way could TD leverage all the hard work done by other people in this area.

For example imagine TD would write scene delegate to represent TD’s scene graph for hydra (just like Foundry’s Nuke did it) - allowing any hydra render delegate to render current TD scenes. Surely there are TD concepts that wouldn’t be supported in this (for those there would still be an option to use normal Render TOP), but overall it could provide great future platform to build upon. What do you think about it?

3 Likes

Yes, what about TD in the omniverse?
Another route to nicer rendering could be a close integration of Blender, which shouldn’t be too difficult considering is Python based as well

this got off topic. there are two different feature requests here for two different use cases:

  1. real-time global illumination, in which there are many cross platform ways to achieve this, and speaking of apple, the latest apple silicon chips and metal api have support for hardware accelerated raytracing. though moltenvk doesn’t support translating those API calls yet, there is an open issue for it. (and that not it couldn’t be implemented using only general purpose compute, like 10bit fx did with notch, but then that leaves a lot of performance on the table.)

@mickeyvanolst and @VanTa are talking about this. ^

on this topic, worth mentioning that RTXGI is NOT reliant on nvidia graphics, the readme is misleading. it wouldn’t need to be based on this repo either, it could be any implementation of Dynamic Diffuse Global Illumination or similar algorithms. nor is something being written with OpenGL make it a no go to implement in Vulkan in touchdesigner, it could still be used as a reference for say, a feature that derivative might build, by say, Malcolm or anyone else who can translate between these APIs and/or see the core algorithms for what they are and not the API, framework, or language they are written in.

  1. an offline, near real-time “reference” or “ground truth” path tracer. this is for getting beautiful stills as high quality as possible, either for art sake, promotional rendering, or checking if your real-time light transport “hacks” are fairly accurate or erroneous (and by what amount). while USD can be used for real-time or offline rendering, Hydra is designed for offline rendering (at least in the near / foreseeable future)

@monty_python, @MXZEHN are talking about this ^

and a topic already exists for this here: Future of rendering powered by usd and hydra delegates?

1 Like

Sorry, I didn’t mean to shift this topic, USD and Hydra seemed relevant to me in this case so I thought I should mention it.

I don’t think this is the case. Hydra is designed to support realtime renderers (just as well as offline renderers). As an example feel free to take a look at Storm which is realtime (opengl) hydra delegate developed by Pixar itself.

Anyway lets get back on track to just realtime GI. Surely it would be great to have something supported in this area.

1 Like