We’ve all been in installations where you need to send textures between apps or process. It may be because of limitations of a process, maybe because we’re using different apps to do different processes. Whatever the reason, it can be overwhelming to decide which protocol to use and which operators to use. Let’s dive into your options!
Touch In / Touch Out TOP
The easiest option if you’re working between TouchDesigner apps on different computers is Touch In TOPs and Touch Out TOPs. They work over the network so it’s easy to get it up and running over any kind of computer setup. This can be useful for sending textures from devices like Kinects or RealSense devices from small form factors machines running TouchDesigner back to your bigger servers running TouchDesigner. One great option that the Touch In / Out TOPs is the option to select compressions. This can be helpful if you need for example to send data in textures across the network without having compression ruin the data in transit. You can also send HAP compressed textures to lower bandwidth usages, but it’s still quite high compared to other methods.
NDI In / NDI Out TOP
NDI is a newer protocol created by Newtek. They’ve done a really great job of creating an “industry standard” version of the Touch In and Touch Out TOP functionality. All kinds of devices can receive NDI textures over the network. This includes other applications and even some types of hardware with NDI protocol built in, like standalone decoders that can receive NDI and spit out an HDMI or IP-cameras. NDI works great in terms of low bandwidth networks because it’s quite good with compression, having both high-bandwidth and low-bandwidth modes. It can also be a great way to perform screen capture that can then be sent over the network using the NDI Tools that Newtek provides. This is amazing for sharing Powerpoint presentations from one computer to another.
Syphon Spout In / Out
So far we’ve been talking about texture sharing over the network. This takes bandwidth, networking requirements, and can incur delay of a few frames. If you’re working on the same machine a great option is to the use the Syphon Spout In and Out TOPs. On Windows machines, Spout uses texture sharing on the graphics card itself, so there are no network requirements and little to no latency to send textures between applications. But it’s important to know that because this happens on the GPU, you can’t use this process to send textures between apps running on different GPUs on the same computer.
This list should give you a bit more information about the available protocols you can use to share textures. There are always a hundred ways to solve a problem with TouchDesigner, and texture sharing is no different. Hopefully you’ll have an easier time making your decision now.