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 void
bindAttributesAndUniforms()
Deprecated.Binds all attributes and uniforms in the program.void
delete()
Deprecated.Deletes the program.int
getAttributeArrayLocationAndEnable(String attributeName)
Deprecated.Returns the location of anGlProgram.Attribute
, which has been enabled as a vertex attribute array.int
getUniformLocation(String uniformName)
Deprecated.Returns the location of aGlProgram.Uniform
.void
setBufferAttribute(String name, float[] values, int size)
Deprecated.Sets a float buffer type attribute.void
setFloatsUniform(String name, float[] value)
Deprecated.Sets afloat[]
type uniform.void
setFloatUniform(String name, float value)
Deprecated.Sets afloat
type uniform.void
setIntUniform(String name, int value)
Deprecated.Sets anint
type uniform.void
setSamplerTexIdUniform(String name, int texId, int texUnitIndex)
Deprecated.Sets a texture sampler type uniform.void
use()
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.GlException
Deprecated.Uses the program.Call this in the rendering loop to switch between different programs.
- Throws:
GlUtil.GlException
-
delete
public void delete() throws GlUtil.GlException
Deprecated.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 anint
type uniform.
-
setFloatUniform
public void setFloatUniform(String name, float value)
Deprecated.Sets afloat
type uniform.
-
setFloatsUniform
public void setFloatsUniform(String name, float[] value)
Deprecated.Sets afloat[]
type uniform.
-
bindAttributesAndUniforms
public void bindAttributesAndUniforms() throws GlUtil.GlException
Deprecated.Binds all attributes and uniforms in the program.- Throws:
GlUtil.GlException
-
-