Are there any plans to expose Vulkan via the C++ operator API? I’m working on several projects that I’d love to consider TouchDesigner for, but would need the ability to access GPU resources in my plugins. A CPUMem
TOP is obviously insufficient for anything that’s performance sensitive. I’ve read that TouchDesigner is trying to become more GPU driven, which seems like it would make this kind of access to raw Vulkan even more helpful. Would love to know if this is on the horizon.
It’s currently in the plans, but not scheduled for work yet. The only option right now is to use the CUDA mode, which would allow you to interop between APIs.
Thanks for the reply. Unfortunately CUDA support in my target plugin language is pretty painful at the moment, and the Vulkan bindings are much more robust. Will look forward to seeing what comes in the future.
Even without access to raw Vulkan resources, any chance the new POP stuff will be helpful here? Totally get that providing a friendly interface to Vulkan is a big lift over OpenGL… I am interested in the use case of “bring your own renderer” inside of TD, but mostly the sharp edge I keep cutting myself on is trying to write compute shaders, using storage textures just isn’t a friendly programming model. Basically I just want a way to bind storage buffers and a way to put the GLSL TOP into a “draw indirect” mode so I can implement vertex pulling myself.
Yes, with POPs the GLSL MAT has access to the full buffers, not just the current vertex. So you’ll be able to do a lot more in that case.
We’ll likely also expose ways to access these arrays in the GLSL TOP as well.
That sounds great, very excited to try. Thanks!