I'm glad we continued the discussion..
I discovered that the shaders are missing the set up headers
which configure GLSL to run using a specific Version of GLSL
by default, my iStripper is using the following default header,
it is added the beginning of the shader.
#version 130
#ifdef GL_KHR_blend_equation_advanced
#extension GL_ARB_fragment_coord_conventions : enable
#extension GL_KHR_blend_equation_advanced : enable
#endif
#define lowp
#define mediump
#define highp
here is a list of what #Version should be used based on which GLSL you want to be used.
GLSL Version Shader Preprocessor
1.10.59 #version 110
1.20.80 #version 120
1.30.10 #version 130
1.40.80 #version 140
1.50.11 #version 150
3.30.06 #version 330
4.00.09 #version 400
4.10.06 #version 410
4.20.11 #version 420
4.30.08 #version 430
4.40.09 #version 440
4.50.07 #version 450
4.60.05 #version 460
I also discovered that in Scene files
we use
minVersion: 1.2.0.80
and that is what causes the default header to be written
so
minVersion: 1.2.0.80
writes a default header with
#version 130
in it
to override the default header, the shader should include
one of it's own.
This Header fixes the original shader.
#version 140
#ifdef GL_KHR_blend_equation_advanced
#extension GL_ARB_fragment_coord_conventions : enable
#extension GL_KHR_blend_equation_advanced : enable
#extension GL_ARB_gpu_shader5 : enable
#endif
#define highp
plus this correction on line 360
// reflection of cubemap
c *= (texture(iChannel1,R.xy)).xyz * 1.5 + .4;