Skip to content

TIL

25-08-15- Today I Learned...

TD and Stream Diffusion

In TouchDesigner Stream diffusion the Step parameter defines how close the output is to the original input. The higher the step value the closer it tries to go towards the orginal input.

If you want something really abstract you want values between 10-15

Also using a Feedback as the input for Stream Diffusion makes the transition smoother.

If you add some noise as background or multiply your input into sd with noise you get more detail. If you animate the noise it keeps the output moving a bit all the time.

TD and Feedback Loop

Always try your feedback loops with 16bit or 32bit so your feedback comes back to true black after time.

TD Panel

If you have multiple radio buttons inside a component and you want to access the current value of the radio value via scripting you can use op('parentName').panel.radio

25-08-12- Today I Learned...

Apply Transformation Only Specific Axis Img

If you only want to apply the noise to X and Z axis we can use *(Scale) node and then set the axis we want to transform to 1.0 and the ignored one to 0.0.

25-08-11- Today I Learned...

To get a Vector3 from a Vector2 we can use XYz, xYY, ... nodes. The small letter will be the individual input.


We can use the Resize(VL.OpenCV) node to make video input smaller. This increases performance for image and video processing.

25-07-31 - Today I Learned...

A really important tool to use, especially when you work on bigger projects with multiple different functionality, write down each single small step that the flow of the program does.

Also always directly test each functionality block so you don't end up knowing where the bug lies.

See also General Programming Rules


To force Dropbox to sync you can in the app click on pause sync and then resume sync. This can solve the problem that dropbox is not syncing your files properly.


After I stepped away 4-5 hours from the project I just had one last look and solved the problem that took me 2 hours before.

25-07-17 - Today I Learned...

Whe you work with classes and you create instances in the Create operation you need to restart the patch to see if the creation of the instances worked.


In OOP in VVVV the properties taht you create in the object don't have to come out of the pad where you create the property. You can reuse the pad in another part.

25-07-15 - Today I Learned...

When you want do reduce the amount of digits after the dot in a decimal value we can use the round(val,amountDigits) function.

25-07-15 - Today I Learned...

If you have multiple levels of ForEach in VVVV and you pipe spread data through each level, you need to flatten the Spread in each ForEach.

Don't forget to pipe the values through the if otherwise they will not be saved.

You can't just add an element in a spread like in javascript. You first have to create the entry in the spread so there is space to add an actual value.

25-06-25 - Today I Learned...

I learned the hard way that you should run your python and AI projects in a virtual environment so they don't create problems with other dependencies. python -m venv env with env as the name for the environment.

To run the environment you write env\Scripts\activate.bat or env\Scripts\activate.

With deactivate we simply can deactivate the virtual environment.

The packages and dependencies that we used in the environment we then can save in a requirements.txt file so if somebody else uses the project they can download themselves without us sending the dependencies. pip freeze > requirements.txt

25-06-25 - Today I Learned...

Today I learned again how to set the right path for your python version.

  1. Find the Python installation path.

  2. Add the Path to Windows:

  3. Win+R and sysdm.cpl to open the system window.
  4. Go to Advanced Tab and Environment Variables
  5. Under System Variables find Path -> Edit
  6. New and add the path to your Python
  7. Also add the path to the Scripts folder in the python folder.

  8. Restart terminal