I have translated some shaders to new version. So as example here is a vertex shader code
#version 330
in vec4 position;
in vec2 texcoord0;
uniform vertex_constants {
mat4 view_proj;
};
out vec2 var_texcoord0;
void main()
{
gl_Position = view_proj * vec4(position.xyz, 1.0);
var_texcoord0 = texcoord0;
}
Bundling to html application works fine, for now haven’t tested on windows, but on linux I have an error
ERROR:GAMESYS: Failed to create vertex program '/battlefield/grid/materials/grid.vpc': Unable to compile vertex shader.
Error: 0:3(16): error: interface blocks with an instance name are not allowed in GLSL 1.40 (GLSL 1.50 or GLSL ES 3.00 required)
What should I do to fix this? Why it still detects it as GLSL 1.40?