Agora Java API Reference for Android
Classes | Public Member Functions | List of all members
io.agora.rtc.gl.GlRectDrawer Class Reference
Inheritance diagram for io.agora.rtc.gl.GlRectDrawer:
io.agora.rtc.gl.RendererCommon.GlDrawer

Public Member Functions

void drawOes (int oesTextureId, float[] texMatrix, int frameWidth, int frameHeight, int viewportX, int viewportY, int viewportWidth, int viewportHeight)
 
void drawRgb (int textureId, float[] texMatrix, int frameWidth, int frameHeight, int viewportX, int viewportY, int viewportWidth, int viewportHeight)
 
void drawYuv (int[] yuvTextures, float[] texMatrix, int frameWidth, int frameHeight, int viewportX, int viewportY, int viewportWidth, int viewportHeight)
 
void drawOes (int oesTextureId, float[] texMatrix, int srcWidth, int srcHeight, int x, int y, int dstWidth, int dstHeight, int dstWidth_ori, int dstHeight_ori)
 
void drawRgb (int textureId, float[] texMatrix, int srcWidth, int srcHeight, int x, int y, int dstWidth, int dstHeight, int dstWidth_ori, int dstHeight_ori)
 
void release ()
 

Detailed Description

Helper class to draw an opaque quad on the target viewport location. Rotation, mirror, and cropping is specified using a 4x4 texture coordinate transform matrix. The frame input can either be an OES texture or YUV textures in I420 format. The GL state must be preserved between draw calls, this is intentional to maximize performance. The function release() must be called manually to free the resources held by this object.

Member Function Documentation

◆ drawOes()

void io.agora.rtc.gl.GlRectDrawer.drawOes ( int  oesTextureId,
float []  texMatrix,
int  frameWidth,
int  frameHeight,
int  viewportX,
int  viewportY,
int  viewportWidth,
int  viewportHeight 
)

Draw an OES texture frame with specified texture transformation matrix. Required resources are allocated at the first call to this function.

Implements io.agora.rtc.gl.RendererCommon.GlDrawer.

◆ drawRgb()

void io.agora.rtc.gl.GlRectDrawer.drawRgb ( int  textureId,
float []  texMatrix,
int  frameWidth,
int  frameHeight,
int  viewportX,
int  viewportY,
int  viewportWidth,
int  viewportHeight 
)

Draw a RGB(A) texture frame with specified texture transformation matrix. Required resources are allocated at the first call to this function.

Implements io.agora.rtc.gl.RendererCommon.GlDrawer.

◆ drawYuv()

void io.agora.rtc.gl.GlRectDrawer.drawYuv ( int []  yuvTextures,
float []  texMatrix,
int  frameWidth,
int  frameHeight,
int  viewportX,
int  viewportY,
int  viewportWidth,
int  viewportHeight 
)

Draw a YUV frame with specified texture transformation matrix. Required resources are allocated at the first call to this function.

Implements io.agora.rtc.gl.RendererCommon.GlDrawer.

◆ release()

void io.agora.rtc.gl.GlRectDrawer.release ( )

Releases all GLES resources. Do this manually, otherwise the resources are leaked.

Implements io.agora.rtc.gl.RendererCommon.GlDrawer.