Я хочу реализовать простой демонстрационный пример потоковой передачи камеры с открытого объекта в качестве текстуры. Это представляется возможным при использовании этого класса SurfaceTexture.
Может кто-нибудь указать мне в правильном направлении, с чего начать?
Или кто-нибудь может объяснить, как использовать этот класс?
Сейчас я делаю что-то вроде:
int[] textures = new int[1];
gl.glGenTextures(1, textures, 0);
mTextureId = textures[0];
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureId);
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_REPEAT);
mSurfaceTexture = new SurfaceTexture(mTextureId);
Первоначально вы предоставляли изображение для этой текстуры, используя gl.glTexImage2D()
, но из-за того, что в объекте SurfaceTexture нет растрового изображения / изображения, которое может привести к путанице.