This set of scenes each use a shader downloaded  from  ShaderToy.com
as a background to a single performer.  Because  the  VGHD  software
uses different names for some of the shader inputs,  and  others  do
not seem to be supported at all, it has been necessary to make a few
modifications to the downloaded sources.

It has proved possible to adapt the great majority of the  ShaderToy
shaders by simply prefacing them with a common set of definitions to

   Equivalence the VGHD and ShaderToy inputs.

   Faking out iMouse and iChanneln references.

Because of the way in which TheEmu did the adaptions the full set of
atadaption definitions ha not always been used, but in retrospect it
would have been simpler to just insert the same text at the start of
each shader even though this would often include much that  was  not
used by a particular shader.  If  the  shader language supported the
#include statement then the modifications could have been kept  down
to a single line, #include VGHD_Shader_Toy_Adaptor.txt, but, as this 
is not supported, the text of the adaptor has to be inserted.  As an
aid for anyone who wants to adapt more ShaderToy shaders a copy of
the full form of the adaptor is provided as

   Shaders = ShaderToy - 00 - VGHD_Shader_Toy_Adaptor.txt

in which there are extensive explanatory comments.

In some cases the ShaderToy shaders do not assign any value to the a
component of gl_FragColor, the result being that the generated image
is very noisy or completely invisible. Adding the single line

   gl_FragColor.a = 1.0;

at the end of the shader will fix this problem.

There are some shaders at ShaderToy.com for which the this will  not
work because they use 3D textures (texture cubes) or  functions  not
covered by the common adaptor.  In a few cases (not the 3D ones) the
shader can still be adapted by making minor changes to  the  source,
e.g. removing references to iChannelResolution.

Occasionaly #defines have been used to allow shader parameters, such
as maximum iteration counts,  to be easily changed in order to lower
the resources used by a shader.  This is useful for scenes which use
a lot of resources and stress the host system leading to judder when
a scene is played.

TheEmu can take no credit for any of these shaders,  that belongs to
there original creators and the names used for the scenes do reflect
this.

Please note,  a few of these shaders make heavy use of GPU resources
which may result in jerky motion on "low end" machines. It may still
be possible to use them by reducing their requirements by  adjusting
the values of control parameters in the .fsh files and in some cases
this has specificaly been allowed for,  but other than that you will
have to change the body of the .fsh or simply not use the scene.