FreeframeGL ShaderLoader

Flash, Quartz Composer, FreeFrame Plugins
leadedge
Senior Member
Posts: 86
Joined: Fri Feb 14, 2014 13:58

FreeframeGL ShaderLoader

Postby leadedge » Sun Jan 11, 2015 13:44

Hello to everybody,

I have not contributed to this forum before so I hope it is OK.

As a spin-off from the Spout project, here is a FreeframeGL plugin that will load shader files created from GLSL Sandbox or ShaderToy.

https://github.com/leadedge/ShaderLoader/releases

There are some limitations such as no audio input, only two input textures and not all of the pre-defined uniform variables are supported. But nevertheless many many of the shaders on the websites work straight away. With attention to licensing and credit to the authors, this effectively creates a huge number of instant freeframe plugins.

You can select the shader files with a file selection dialog and edit them. Spout users will need to update “SpoutPanel” with this latest version by copying “SpoutPanel.exe” to the host program folder and replacing the old version.

The plugin has been tested on a limited number of computers, you can give feedback on the Spout forum too.

http://spout.zeal.co/forums/topic/shaderloader/

Cheers to all,

Lynn Jarvis
spout.zeal.co

Amid
Junior Member
Posts: 11
Joined: Thu Oct 04, 2012 18:54

Re: FreeframeGL ShaderLoader

Postby Amid » Tue Jan 13, 2015 18:21

cool!
works fine! thank you

User avatar
drazkers
Senior Member
Posts: 469
Joined: Wed May 18, 2011 10:54
Location: FOH

Re: FreeframeGL ShaderLoader

Postby drazkers » Wed Jan 14, 2015 01:21

I've been playing with this and having a great time. Interestingly I've had to scale back alot of files that ran in touchdesigner really nicely and then would get sent over to resolume via spout. The same files normally needed tweaking to bring the performance back in range. But i've actually been looking for this for quite some time, as this is a much nicer workflow for straight show up and rave shows then having to rely on touch designer put an interface ontop of resolume.

leadedge
Senior Member
Posts: 86
Joined: Fri Feb 14, 2014 13:58

Re: FreeframeGL ShaderLoader

Postby leadedge » Wed Jan 14, 2015 02:38

I have noticed that the performance of some shaders is dependent on viewport size. Is this what you are experiencing or is there some other way you are scaling and tweaking? At the moment, if the shader uses a texture, the resolution size is set to that of the texture, otherwise the viewport.

Sadler
Senior Member
Posts: 210
Joined: Tue Sep 20, 2011 23:55

Re: FreeframeGL ShaderLoader

Postby Sadler » Wed Jan 14, 2015 12:27

I've had a quick play. This is something I've also been hoping for since then "some other GL scripting".

Works very well - kudos to Lynn and the spout team.

Notes:
"stardust" shader plays then ends and has to be removed and re-applied to play again.
When the ShaderLoader is reapplied it seems to remember the previous shader.
"clouds" shader reduces FPS to sub 20. (GTX 750)
Some shaders remove/hide/cover the Resolume demo watermark.

leadedge
Senior Member
Posts: 86
Joined: Fri Feb 14, 2014 13:58

Re: FreeframeGL ShaderLoader

Postby leadedge » Wed Jan 14, 2015 13:55

Yes there is a lot potential for this. But don't get too disappointed if many of the ShaderToy shaders don't work. I tried "StartDust" but it did not work for me.

ShaderLoader will save the currently loaded shader file path in the registry and that will be recalled when it starts again. Unless there is a shader name or path entered in the "Shader Name" entry field and then that is recalled instead. This allows you to set up several instances and each will recall the shader file name entered if you switch decks or start again.

The clouds example I selected as an example is impressive, but heavy going. It depends on the viewport size. I get about 23fps at 640x480, but only 3fps at 1920x1080! So keep the viewport size down for this one. There is another clouds shader that does much better.

Really it's ideal if you use the ShaderToy examples as a basis for your own shader, but even so many do work out of the box.

Not sure about the Watermark. There is nothing in there that does this intentionally.

So keep trying it. The main thing is that it does not crash, freeze or otherwise cause grief.

User avatar
drazkers
Senior Member
Posts: 469
Joined: Wed May 18, 2011 10:54
Location: FOH

Re: FreeframeGL ShaderLoader

Postby drazkers » Wed Jan 14, 2015 21:12

leadedge wrote:I have noticed that the performance of some shaders is dependent on viewport size. Is this what you are experiencing or is there some other way you are scaling and tweaking? At the moment, if the shader uses a texture, the resolution size is set to that of the texture, otherwise the viewport.


Was a 720p vs 720p No idea, to be honest 9 out of ten times I can tweak afew variables that LED walls won't pick up anyways and i'm back into 40FPS range on 720p. I'll pm you any photos i get of anything out on the road.

leadedge
Senior Member
Posts: 86
Joined: Fri Feb 14, 2014 13:58

Re: FreeframeGL ShaderLoader

Postby leadedge » Thu Jan 15, 2015 08:45

Sadler,

I went back to look at "stardust". It wasn't the one I thought it was. It has a time-out after 64 seconds and fades to black and has to be started again. If you want to use this send a pm to me.

User avatar
francoe
Senior Member
Posts: 154
Joined: Thu Nov 27, 2008 23:30

Re: FreeframeGL ShaderLoader

Postby francoe » Fri Jan 16, 2015 00:38

Love it!!

leadedge
Senior Member
Posts: 86
Joined: Fri Feb 14, 2014 13:58

Re: FreeframeGL ShaderLoader

Postby leadedge » Fri Jan 16, 2015 03:41

Update release :

https://github.com/leadedge/ShaderLoader/releases/tag/1.0.1

Fixed a problem with the path containing "." characters being truncated. The Resolume paths should work OK now.

Also changed time "start" to when the shader is loaded as noticed in the shader mentioned above which uses absolute timing to time-out.


Return to “Developers Developers Developers”

Who is online

Users browsing this forum: No registered users and 1 guest