2012-11-21 50 views
2

我在iPad 3.顯影使用OpenGL ES 2.0應用程式我試圖調用glTexImage2D()GL_FLOAT爲「type」何時從GL_UNSIGNED_BYTE切換,與GL_LUMINANCE爲「internalFormat」和「format」的參數。 (原爲GL_RGBA使用GL_FLOAT和GL_LUMINANCE進行線性插值?

問題:線性插值現在已經消失。當你放大時,它是非常像素化的,而不是平滑的,因爲它是線性插值。我是否需要切換到GL_RGBA而不是GL_LUMINANCE?使用GL_LUMINANCE會自動禁用插值嗎?使用GL_UNSIGNED_BYTE時前

highp vec4 tex = texture2D(Texture, TexCoordOut); 

就像我所做的:

在我的渲染我下手。 TexCoordOut是來自頂點着色器的插值輸出。爲什麼不是在切換到亮度和浮動後再插入?

p.s.我打電話:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

只是glTexImage2D()之前,但我的感覺這些調用什麼都不做反正下的OpenGL ES 2.0下我。

回答

2

我只記得:當使用GL_FLOAT時,GL_LINEAR在OpenGL ES 2.0上不可用,除非支持GL_OES_texture_float_linear擴展,它不在iPad 3和更早版本中。

由於支持GL_OES_texture_half_float_linear擴展,所以我必須考慮使用它。

+0

我還在尋求幫助。我仍然需要幫助的細節在這裏解釋更好: http://stackoverflow.com/questions/13485937/how-to-properly-use-gl-half-float-oes-for-textures –