OpenGL ES 2.0 能否用一个纹理ID来绘制不同的纹理?
在android中用Opengl来绘制纹理,通常做法是先生成每张纹理图片对应的ID号(调用GLES20.glGenTextures),然后设置采样和拉伸方式,再将纹理送入Opengl的显示库(调用GLES20.glTexImage2D),最终绘制的时候使用这个纹理ID号即可绘制出该纹理。
但是有个特殊情况,在用SurfaceTexture做Camera预览和视频播放的时候,这个SurfaceTexture仅仅通过构造函数传递进去一个纹理ID号,之后便可以通过该ID号来绘制不同的画面(来自Camera实时预览数据或者视频文件)。
那么问题来了:1:多张图片纹理,能否只生成一个纹理ID,就可以用这个ID来绘制不同的纹理呢?2:除了控制纹理大小这个方法,Opengl绘制过程中怎么解决纹理过多造成的内存不足问题呢?
非常感谢热心朋友的指点。