January 21, 2018 at 6:00 am #3809
ShaderToySender, a bonus program for Spout supporters, has been updated significantly.
It is now possible to save a FreeframeGL plugin, either 32 bit or 64 bit, directly from the menu without any programming at all.
Also, any images that the shader uses are embedded in the plugin. The original image files are no longer needed. Up to four images can be saved. A thumbnail image dialog makes it easy to select images and see which are being used. This overcomes limitations where the host may only provide one image for the shader.
Plugins are automatically saved as effect or source, depending on whether an image is used for the first texture. This is unaffected by other images, so effect shaders can be saved with noise images for example which opens many more possibilities for using ShaderToy shaders as plugins.
There are other improvements, including an option to reduce the resolution of a complex shader where it may affect fps at the resolution of the host. The result in the host is only noticeable by the lower resolution of the image.
Any changes you make while editing the shader are immediately reloaded so you can see the result while you edit the file. Thanks to Ben Kuper for the ideas.
The documentation has further details.
ShaderToySender now replaces the ShaderLoader and ShaderMaker projects. There is a new repository “FreeframeMaker” that is more general purpose. It allows the same shader and image embedding and resolution control, but programmers can create plugins independent of the ShaderToy specification.
Many thanks to the work of the testers who committed much time and energy. The result is the better for it. Of course nothing is ever finished and there may still be bugs lurking somewhere, but email contact is always available.
Cheers to all and a very belated happy new year.February 19, 2018 at 4:49 pm #3827
super awesome!! Works for me both Source and FX plugins (64bit)!
Now I really gotta learn how to add parameters to shadertoy effects.
Thank you leadedge!!February 20, 2018 at 12:29 am #3828
Yes there is a lot of potential if you change the shaders to do what you want. The program is evolving as people make suggestions and find bugs. Recent changes are to the parameter entry dialog. Contact me if you are interested in trying the latest.February 20, 2018 at 12:40 pm #3830
– Adding iMouse.x and iMouse.y works well! Yet I don’t know how to add “X/Y mouse left” in a way that would make sense. They are always automatically added to the parameter settings dialog and I have to disable it as they don’t work
– direct access to colors (background and effect color ranges), for now I don’t know how to adress the color and alpha parametersFebruary 20, 2018 at 12:41 pm #3831
I’d love to test the new features!February 20, 2018 at 12:45 pm #3832
For now I have selected more than 60 shaders that are interesting for example in terms of glitchy distortion effects (and finally that one aswell: http://spout.zeal.co/forums/topic/shaderloader-shadertoy-sender/ yay, tho it is having issues with the scaling method, as mentioned by leadedge before).
What I really don’t know yet is the value range of iMouse.x and iMouse.yFebruary 20, 2018 at 7:34 pm #3833
ok, value range for iMouse.xy is 0.0 -> 1.0 🙂
Today I have converted three shaders to FFGL with nice controls etc.
Yet still I don’t know how to implement and work with parameters “X/Y mouse left”, colors and alpha.
I have a problem with remaining frames on videos with alpha. When I change a Full Frame video to a video with alpha channel the last frame of the full framed video remains below the new alpha video.. anyway, looks good and stable so farFebruary 20, 2018 at 10:54 pm #3834
The range of all the parameters is 0-1 for the plugin, including all the mouse coordinates to align with the Freeframe standard. But the shader still gets mouse coordinates in pixels based on the viewport size.
In ShaderToy, “X/Y mouse left” give the mouse coordinates when the left button is pressed. These are iMouse.z and iMouse.w. There is an explanation and example in the documentation.
The defaults for both of these are 0.0, and that is where the latest change to set parameter values is good because you can change the defaults to something else if you are using these controls for some other purpose.
All four are activated whenever the shader uses the mouse. So far I can’t find any way to choose each one individually because the uniform is vec4 and it is either used or not.
In the latest version I have documented an example and included a shader to show how to use mouse coordinates and the four colour uniforms as general purpose variables. There could be bugs in this version, so I am not ready for release yet, but it is looking good so far.
I don’t know what the problem is with video frames and alpha. I have some idea but will need to see an example. I will contact you by email about that and testing the latest version.
- You must be logged in to reply to this topic.