I’m getting “Definition for “void main()” not found.” error when using this shader code.
    struct LocalConstants {
    mat4                    view_projection_matrix;
    float                   time;
    float                   sprite_size;
    float                   alpha_threshold;
    uint                    filter_type;
    vec4                    screen_size;
    float                   filter_width;
    float                   camera_scale;
    float                   texels_per_pixel;
    uint                    premultiplied;
};
layout (std140, binding=0)
uniform Local{
    LocalConstants  locals;
};
// The default size, in pixels, of the antialiasing filter. The default is 1.0 for a mathematically perfect
// antialias. But if you want, you can increase this to 1.5, 2.0, 3.0 and such to force a bigger antialias zone
// than normal, using more screen pixels.
float SMOOTH_SIZE = locals.filter_width;
float _HALF_SMOOTH = SMOOTH_SIZE / 2.0;
#if defined VERTEX
layout (location = 0) in vec4 position;
layout (location = 1) in vec4 uv_size_offset;
layout (location = 2) in vec2 size;
layout (location = 0) out vec2 uv;
layout (binding = 1) uniform sampler2D albedo;
// Per vertex positions and uvs of a quad
vec3 positions[6]       = vec3[6]( vec3(-0.5,-0.5,0), vec3(0.5,-0.5,0), vec3(0.5, 0.5, 0), vec3(0.5, 0.5, 0), vec3(-0.5,0.5,0), vec3(-0.5,-0.5,0) );
vec2 uvs[6]             = vec2[6]( vec2(0.0, 1.0),    vec2(1.0, 1.0),   vec2(1.0, 0.0), vec2(1.0, 0.0), vec2(0.0, 0.0), vec2(0.0, 1.0) );
void main() {
    ivec2 texture_size = textureSize(albedo, 0);
    const uint vertex_index = gl_VertexID % 6;
    uv = uvs[vertex_index] * uv_size_offset.xy + uv_size_offset.zw;
    vec4 world_position = vec4( vec2(positions[ vertex_index ].xy * size * locals.sprite_size), 0, 1 );
    world_position.xyz += vec3(position.xy * locals.sprite_size, position.z);
    gl_Position = locals.view_projection_matrix * world_position;
}
    #endif // VERTEX
I don’t get this error when I use “ShaderProgram.pedantic = false;” but “shaderProgram.isCompiled()” still returns false.
and of course when I do “batch.setShader(shaderProgram)” the batch doesn’t work correctly
