Class GlProgram


  • @Deprecated
    public final class GlProgram
    extends Object
    Deprecated.
    com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
    Represents a GLSL shader program.

    After constructing a program, keep a reference for its lifetime and call delete() (or release the current GL context) when it's no longer needed.

    • Constructor Detail

      • GlProgram

        public GlProgram​(Context context,
                         String vertexShaderFilePath,
                         String fragmentShaderFilePath)
                  throws IOException,
                         GlUtil.GlException
        Deprecated.
        Compiles a GL shader program from vertex and fragment shader GLSL GLES20 code.
        Parameters:
        context - The Context.
        vertexShaderFilePath - The path to a vertex shader program.
        fragmentShaderFilePath - The path to a fragment shader program.
        Throws:
        IOException - When failing to read shader files.
        GlUtil.GlException
      • GlProgram

        public GlProgram​(String vertexShaderGlsl,
                         String fragmentShaderGlsl)
                  throws GlUtil.GlException
        Deprecated.
        Creates a GL shader program from vertex and fragment shader GLSL GLES20 code.

        This involves slow steps, like compiling, linking, and switching the GL program, so do not call this in fast rendering loops.

        Parameters:
        vertexShaderGlsl - The vertex shader program.
        fragmentShaderGlsl - The fragment shader program.
        Throws:
        GlUtil.GlException
    • Method Detail

      • getUniformLocation

        public int getUniformLocation​(String uniformName)
        Deprecated.
        Returns the location of a GlProgram.Uniform.
      • getAttributeArrayLocationAndEnable

        public int getAttributeArrayLocationAndEnable​(String attributeName)
                                               throws GlUtil.GlException
        Deprecated.
        Returns the location of an GlProgram.Attribute, which has been enabled as a vertex attribute array.
        Throws:
        GlUtil.GlException
      • setBufferAttribute

        public void setBufferAttribute​(String name,
                                       float[] values,
                                       int size)
        Deprecated.
        Sets a float buffer type attribute.
      • setSamplerTexIdUniform

        public void setSamplerTexIdUniform​(String name,
                                           int texId,
                                           int texUnitIndex)
        Deprecated.
        Sets a texture sampler type uniform.
        Parameters:
        name - The uniform's name.
        texId - The texture identifier.
        texUnitIndex - The texture unit index. Use a different index (0, 1, 2, ...) for each texture sampler in the program.
      • setIntUniform

        public void setIntUniform​(String name,
                                  int value)
        Deprecated.
        Sets an int type uniform.
      • setFloatUniform

        public void setFloatUniform​(String name,
                                    float value)
        Deprecated.
        Sets a float type uniform.
      • setFloatsUniform

        public void setFloatsUniform​(String name,
                                     float[] value)
        Deprecated.
        Sets a float[] type uniform.
      • bindAttributesAndUniforms

        public void bindAttributesAndUniforms()
                                       throws GlUtil.GlException
        Deprecated.
        Binds all attributes and uniforms in the program.
        Throws:
        GlUtil.GlException