2

는 내가 "type"에 대한 GL_FLOAT-glTexImage2D()를 호출 할 때 "internalFormat"와 "format"매개 변수로 GL_LUMINANCE으로, GL_UNSIGNED_BYTE 전환을 시도하고있어 아이 패드 3에는 OpenGL ES 2.0을 사용하여 응용 프로그램을 개발하고 있어요. (이전 GL_RGBA)GL_FLOAT 및 GL_LUMINANCE를 사용한 선형 보간?

문제 : 이제 선형 보간이 사라졌습니다. 스케일 업 (scale up) 할 때 선형 보간 (linear interpolation)과 같이 매끄러운 대신 픽셀 화됩니다. GL_LUMINANCE 대신 GL_RGBA으로 전환해야합니까? 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_OES_texture_float_linear 확장이 지원되지 않는 한, GL_FLOAT가 사용되는 경우 OpenGL ES 2.0에서 GL_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 –