texImage2D
中的(https://developer.android.com/reference/android/opengl/GLUtils.html) 我们有两个功能:
void texImage2D (int target,
int level,
Bitmap bitmap,
int border)
void texImage2D (int target,
int level,
int internalformat,
Bitmap bitmap,
int type,
int border)
一个不需要内部格式和类型,另一个需要它。第一个变体(不需要内部格式和类型)的缺点可能是什么?如果它们没有缺点,为什么其他变体甚至存在?请注意,我不知道internalformat和type的用途是什么,通常在我的OpenGL程序中,我总是使用rgba作为internalformat和type。
答案 0 :(得分:2)
OpenGL中的internal_format
用于指定每个像素在内存中应具有的确切格式。 `类型'指定传入数据的格式(在android中的位图)。
第一个版本(没有内部格式参数的版本)确定bitmap.colorType()
的内部格式和类型。
第一版texImage2D
没有真正的问题,但它限制了可能的内部格式。例如,它不可能创建浮点纹理,16位或32位纹理或整数纹理。您可以查看确定内部格式的getInternalFormat
method,以查看支持的格式。如果您想要任何未返回的内部格式,则必须使用所需的确切内部格式调用texImage2D
。