Пример #1
0
  public Triangle() {
    ByteBuffer byteBuffer = ByteBuffer.allocateDirect(mTriangleCoordinates.length * 4);

    byteBuffer.order(ByteOrder.nativeOrder());

    mVertexBuffer = byteBuffer.asFloatBuffer();
    mVertexBuffer.put(mTriangleCoordinates);
    mVertexBuffer.position(0);

    int lVertexShader = CustomRenderer.loadShader(GLES20.GL_VERTEX_SHADER, mVertexShaderCode);
    int lFragmentShader = CustomRenderer.loadShader(GLES20.GL_FRAGMENT_SHADER, mFragmentShaderCode);

    // create empty program
    mProgram = GLES20.glCreateProgram();

    // attach vertex shader
    GLES20.glAttachShader(mProgram, lVertexShader);

    // attach fragment shader
    GLES20.glAttachShader(mProgram, lFragmentShader);

    // create program executables
    GLES20.glLinkProgram(mProgram);
  }