Esempio n. 1
0
    private void initShaders(GL3 gl) {
      final String[] vertSrc =
          new String[] {
            "#version 150\n",
            "in vec4 vPosition;\n",
            "in vec4 vColor;\n",
            "out vec4 pColor;\n",
            "void main() {\n",
            "    pColor       = vColor;\n",
            "    gl_Position = vPosition;\n",
            "}\n"
          };
      vertID = createShader(gl, GL3.GL_VERTEX_SHADER, vertSrc);

      final String[] fragSrc =
          new String[] {
            "#version 150\n",
            "in vec4 pColor;\n",
            "void main() {\n",
            "    gl_FragColor = pColor;\n",
            "}\n"
          };
      fragID = createShader(gl, GL3.GL_FRAGMENT_SHADER, fragSrc);

      // We're done with the compiler
      gl.glReleaseShaderCompiler();

      progID = gl.glCreateProgram();
      assert progID > 0;
      gl.glAttachShader(progID, vertID);
      gl.glAttachShader(progID, fragID);
      gl.glLinkProgram(progID);
      gl.glValidateProgram(progID);
    }