android opengl texImage2D:内部格式和类型参数
在android中android opengl texImage2D:内部格式和类型参数,android,opengl-es,Android,Opengl Es,在android中texImage2D() 我们有以下两个功能: void texImage2D (int target, int level, Bitmap bitmap, int border) void texImage2D (int target, int level, int internalformat,
texImage2D
()
我们有以下两个功能:
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。OpenGL中的
internal_format
用于指定每个像素在内存中应有的确切格式`type'指定传入数据(位图中)的格式
第一个版本(没有内部格式参数的版本)通过位图.colorType()
确定内部格式和类型
第一个版本的
texImage2D
没有真正的问题,但它限制了可能的内部格式。例如,无法创建浮点纹理、16位或32位纹理或整数纹理。您可以查看确定内部格式的,以查看支持哪些格式。如果您想要任何未返回的内部格式,必须调用texImage2D
,并提供所需的确切内部格式。OpenGL中的内部格式
用于指定每个像素在内存中应有的确切格式`type'指定传入数据(位图中)的格式
第一个版本(没有内部格式参数的版本)通过位图.colorType()
确定内部格式和类型
第一个版本的
texImage2D
没有真正的问题,但它限制了可能的内部格式。例如,无法创建浮点纹理、16位或32位纹理或整数纹理。您可以查看确定内部格式的,以查看支持哪些格式。如果您想要任何未返回的内部格式,必须调用texImage2D
,并提供所需的确切内部格式。谢谢BDL!顺便问一下,16位或32位纹理的优势是什么?如果你想进行HDR渲染或许多其他效果,你将需要它。对于“普通”颜色纹理,8位通常就足够了。谢谢BDL!顺便问一下,16位或32位纹理的优势是什么?如果你想进行HDR渲染或许多其他效果,你将需要它。对于“正常”颜色纹理,8位通常就足够了。