Problem 63 何时该用glDrawTexiOES?
Ans:
首先,这个函数的作用是将指定的纹理贴到视图中的一个矩形区域,无须坐标变换,渲染速度加快。
使用的步骤大概如下:
glGenTextures(...)
glBindTexture(...)
...
glTexImage2D(...)
GLint crop[4] = { 0, h, w, -h };
...
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, crop);
...
glDrawTexiOES(...)
从上面可以看到,使用时主要是需要设置GL_TEXTURE_CROP_RECT_OES参数。
当然,还有其他渲染纹理的方法,那么何时该使用这种方式呢? 从该函数的应用范围可知,它一般适用于所贴纹理的区域是矩形区域,且不需要作坐标变换的情形。