Jogl shader compilierung

Hallo,

Ich bin gerade dabei ein wenig rumzuspielen. Genauer gesagt probiere ich shader zu compilieren. Eigentlich funktioniert das auch, leider zu gut finde ich. Auch wenn ich ‘falsch programmierte’ Shader compiliere wird kein Fehler angezeigt.
Woran könnte das liegen?

Hier meine Routine zum compilieren:

public class CompileShader extends JoglCommand {
    int shaderType;
    Shader shader;
    String shaderCode[];
    int lenght[];

 @Override
    public void executeCommand(JoglGpuModule module) {
        int handle = module.gl.getGL4().glCreateShader(shaderType);
        if (handle > 0) {
            module.gl.getGL4().glShaderSource(handle, 1, shaderCode, lenght, 0);
            module.gl.getGL4().glCompileShader(handle);
            int[] tmp = new int[1];
            module.gl.getGL4().glGetShaderiv(handle, GL_COMPILE_STATUS, tmp, 0);
            if (tmp[0] == GL_FALSE) {
                printLog(module, handle);
                return;
            }
            shader.setHandle(handle);
            Log.info("Shader Compilation", shader.getShaderName() + " compiled, handle: " + handle);
            for (int i = 0; i < shaderCode.length; i++) {
                System.out.print(shaderCode**);
            }
        }
    }

private void printLog(JoglGpuModule module, int handle) {
        IntBuffer tReturnValue = Buffers.newDirectIntBuffer(1);
        module.gl.getGL4().glGetShaderiv(handle, GL_INFO_LOG_LENGTH, tReturnValue);
        int tLogLength = tReturnValue.get();
        ByteBuffer tShaderLog = Buffers.newDirectByteBuffer(tLogLength);
        tReturnValue.flip();
        module.gl.getGL4().glGetShaderInfoLog(handle, tLogLength, tReturnValue, tShaderLog);
        byte[] tShaderLogBytes = new byte[tLogLength];
        tShaderLog.get(tShaderLogBytes);
        String tShaderValidationLog = new String(tShaderLogBytes);
        StringReader tStringReader = new StringReader(tShaderValidationLog);
        LineNumberReader tLineNumberReader = new LineNumberReader(tStringReader);
        String tCurrentLine;
        try {
            while ((tCurrentLine = tLineNumberReader.readLine()) != null) {
                if (tCurrentLine.trim().length() > 0) {
                    System.out.println(tCurrentLine);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ein Shader mit dem Code:

#version 430
void main()
{
gl_Position = projection * view * model * vert;
}}}}}

wird erfolgreich compiliert, was ja eigentlich nicht passieren dürfte…

Wenn ich zb, das #version 430 weglasse wird richtigerweise ein Fehler geworfen…

Hat jemand eine Idee weshalb sich das so verhällt?

*** Edit ***

Schon gelöst. Machmal nutz es dann doch nen Kaffe zu trinken und 5 min nicht auf den Schirm zu sehen.

module.gl.getGL4().glShaderSource(handle, 1, shaderCode, lenght, 0);

muss natürlich

module.gl.getGL4().glShaderSource(handle, shaderCode.lenght, shaderCode, lenght, 0);

sein