Thanks for posting! We tried this file in the latest 088 and it had a number of GLSL compiler errors as they were set to shader version 1.20. Suggest checking your drivers and updating them.
Iāve gone ahead and updated the shaders to be all GLSL 3.30 so it works now with the latest experimental without shader compile errors.
However, wondering it you could take a look at it as the scene starts of with a beautiful particle effect which then slowly fades away, it looks like the system needs to be re-seeded or that the feedback settings are clearing it instead of propagating it.
well, itās funny because, now i canāt get it to work, at least when the GLSL-Multi shader is set to version 3.30. If i revert to 1.20 by and use
gl_TexCoord[0].st
instead of
vUV.st
, it works fine.
After messing around with it for a few minutes, it looks to me like itās not reading in from the second uniform sampler correctly under 3.30ā¦
this line returns a value from sInput1 no matter what i do or where i put itā¦
pos = texture2D(sInput2, vTexcoord);
Is it possible thereās a bug in the GLSL Multi Top?
The way you access samplers is different in 3.3 also. They are accessed via arrays such as sTD2DInputs[0], sTD2DInputs[1]
and you donāt need to declare them anymore. Missed that when we were upgrading it.
However, now Iām unclear why it wasnāt working originally for Ben on his machine when it was set to 1.20. Iāll take a look.
Malcolm might be able to answer why this is? However, all that gl_TexCoord syntax is not 3.30. All the shaders opened in error for me here complaining you are using Global 1.20 stuff that is no longer supported, hence why I tried to fix the errors and update everything to 3.30. I am running latest Nvidia drivers 331.82.
Right, the issue was that things like ānoperspectiveā and āoutā are used in the ālensfx1ā COMP, but those are only available in 1.30+ (noperspective possibly using an extension).
Similarly the GLSL MAT is using things like āattributeā and is set to 3.30, but attribute isnāt allowed in 3.30, you need to use āinā instead.
What driver version do you have installed? Older Nvidia drivers were very non-compliant, allowing all kinds of illegal syntax to get through. They slowly fix those loopholes over time though, resulting in previously working shaders starting to fail to compile.
Iām using AMD drivers (FirePro 2013.1214.1007.18089)
(Also itās a 1st gen cylinder mac pro with an amd firepro d500 card, under bootcamp 8.1)
and yea, sorry, i am not conversant in the differences between GLSL 1.2 and 3.30, itās usually a bit of trial-and-error to get things to work.
Are any of those uniform assignments and other TD-specific GLSL things documented anywhere really? iāve poked around a bunch on the site and never came up with a whole lot.
Thanks for that, working now on my system as well (in the latest experimental).
Wondering how those FireProās are behaving with TouchDesigner in general, we donāt have any to test with and a number of people have been asking. Any comments on them?
there are times when touch hangs during loading a toe file, the window just goes white and freezes. sometimes i have to kill the process with task manager. it doesnāt generate a crash dump. it happens maybe 15-25% of the time.
If it happens again, sometimes we can get something from a forced dump file. To create one, when its hanging on you right-click on the process in the Task Manager and select āCreate Dump Fileā. The files created this was are very large, maybe youāll have to dropbox it to us or something. If it happens that often, weād like to look at it.
Here is a trick for creating geometry for particle engines like this.
Using houdini, load your modelā¦
run it through houdiniās scatter sop to generate as many points as you need.
if you have a texture map, use an āattribute from mapā operator to get color data baked into the points.
export geometry from houdini (I use .hbclasic)
load geometry into touch designer
use sop->chop to convert points into channels (just P at first)
Now here is the tricky part. I am working with 1024*1024 particles, so that means the chop will have a million samples. To turn this into usable data, you can use a trim chop to extract 1024 values at a time. Mix this with a chop->top, a feedback top, and an over top, you can build a nice 1024x1024 32-bit texture with all of your particle positions! You can repeat the process with the vertex color data and get a color map also.
Sice you canāt save 32-bit textures, you can only lock a null top and then use switches or selects to access it at runtime.
Just a tip for those who didnāt notice, either turn on the display flag for /evil_space_flame/final or put this file into Perform Mode (press F1) to see the final output. When you start it up the network backdrop is displaying the Render TOP before all the extra effects.
hey steve, Iām having trouble following your suggestions for using custom geometries, so it would be really great if you could upload that 60 mb file to dropbox or somewhere else.