Render Buffers Workflow in Touchdesigner
Touchdesigner is a powerful tool for data processing that can be used to create shaders for 3d models in real time. This page contains a few of my studies on rendering workflows using render buffers. The 3d model used was downloaded from Dan Samanek's page in Sketchfab
UV Mapping workflow



This network consists of a basic SOP render setup and changes to the UV map of the model. I used a PBR material connected to the Normal and AO texture provided by the artist + UV, specular and emmit buffers that were accessed through a Render Select TOP. A Noise TOP was then remaped on the UV map of the object. Lastly, the Specular and Emmit buffers were multiplied at the end of the network to add a better sense of chiaroscuro to the sculpture.
World Space Position workflow



This one is a slightly more complicated setup. The difference here is that I used the WSP buffer + a threshold to create an alpha mask. Two materials were used, a PBR with the same settings from the previous example, and a PBR set to Wireframe mode. I also had to use a polyreduce SOP to make the model lowpoly so the Wireframe material would not feel overwhelming. The alpha mask with a reduced alpha value was then used to map the Wireframe on the model. It was also necessary to invert the alpha mask and apply it to the base PBR render to make the transition between materials smoother.
Camera Space Normal workflow



The Camera Space Normal buffer maps the normal tangents of the 3d surface in relation to the camera position. The process here is quite simillar to the UV example. The difference is that, instead of remapping the UV, I remapped the CSN map making use of a Movie File In TOP.
World Space Normal workflow



The World Space Normal is quite simmilar to the Camera Space Normal, the difference is that changes will be visible if the wold position of the object changes. This time, I experimented with Threshold values of the RGB channels of the WSN map. The resulting values were composited together into a single operator, which was then composited over the initial render.