Class GlProgram
- java.lang.Object
-
- com.google.android.exoplayer2.util.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 Summary
Constructors Constructor Description GlProgram(Context context, String vertexShaderFilePath, String fragmentShaderFilePath)Deprecated.Compiles a GL shader program from vertex and fragment shader GLSL GLES20 code.GlProgram(String vertexShaderGlsl, String fragmentShaderGlsl)Deprecated.Creates a GL shader program from vertex and fragment shader GLSL GLES20 code.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidbindAttributesAndUniforms()Deprecated.Binds all attributes and uniforms in the program.voiddelete()Deprecated.Deletes the program.intgetAttributeArrayLocationAndEnable(String attributeName)Deprecated.Returns the location of anGlProgram.Attribute, which has been enabled as a vertex attribute array.intgetUniformLocation(String uniformName)Deprecated.Returns the location of aGlProgram.Uniform.voidsetBufferAttribute(String name, float[] values, int size)Deprecated.Sets a float buffer type attribute.voidsetFloatsUniform(String name, float[] value)Deprecated.Sets afloat[]type uniform.voidsetFloatUniform(String name, float value)Deprecated.Sets afloattype uniform.voidsetIntUniform(String name, int value)Deprecated.Sets aninttype uniform.voidsetSamplerTexIdUniform(String name, int texId, int texUnitIndex)Deprecated.Sets a texture sampler type uniform.voiduse()Deprecated.Uses the program.
-
-
-
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- TheContext.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 aGlProgram.Uniform.
-
use
public void use() throws GlUtil.GlExceptionDeprecated.Uses the program.Call this in the rendering loop to switch between different programs.
- Throws:
GlUtil.GlException
-
delete
public void delete() throws GlUtil.GlExceptionDeprecated.Deletes the program. Deleted programs cannot be used again.- Throws:
GlUtil.GlException
-
getAttributeArrayLocationAndEnable
public int getAttributeArrayLocationAndEnable(String attributeName) throws GlUtil.GlException
Deprecated.Returns the location of anGlProgram.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 aninttype uniform.
-
setFloatUniform
public void setFloatUniform(String name, float value)
Deprecated.Sets afloattype uniform.
-
setFloatsUniform
public void setFloatsUniform(String name, float[] value)
Deprecated.Sets afloat[]type uniform.
-
bindAttributesAndUniforms
public void bindAttributesAndUniforms() throws GlUtil.GlExceptionDeprecated.Binds all attributes and uniforms in the program.- Throws:
GlUtil.GlException
-
-