2009-06-06 3 views
1

CrashLanding 샘플 코드의 Texture2D 클래스를 사용하고 있습니다. 나는 시뮬레이터와 전화 모두 내 이미지 주위에 이상한 유물을 얻고있다. 이 유물은 텍스처 주위에 작은 회색 테두리가 있습니다. 테두리가 일치하지 않고 전체 텍스처를 둘러싸 지 않습니다. 나는 PNG를 사용하고있다.OpenGL ES iPhone 응용 프로그램에서 어떻게 아티팩트를 제거 할 수 있습니까?

+1

스크린 샷을 만들 수 있습니까? – zoul

답변

5

안녕하세요, MrDatabase - 문제는 질감 이미지에 미리 곱한 알파가있는 것 같습니다. iPhone에서이 문제가 발생했습니다. 앱을 빌드 할 때 PNG 압축이 자동으로 모든 알파 값을 미리 곱합니다. glBlend(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)을 사용하는 경우 기본적으로 알파를 두 번 적용합니다. 대신 glBlend(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)을 사용해보세요. 이것에 관한 애플 포럼에는 많은 것들이 있습니다 :-)

+0

굉장한이 작품! 고마워요 .--) – MrDatabase

+0

감사합니다. 다른 조합으로이 것을 파악하려고 애썼지 만. –

1

텍스처의 너비와 높이가 모두 2입니다? 그렇지 않은 경우 문제 일 가능성이 큽니다.

또한 특정 크기보다 작은 텍스처에 문제가있었습니다. 작은 텍스처의 경우 할당 된 후 메모리를 지우는 사람이 있다는 것을 기억합니다. Texture2D 소스에서 malloc을 calloc으로 변경하면 문제가 해결되었습니다.

+0

Texture2D는 냄비가 아닌 이미지를 처리해야합니다. – zoul

+0

아마도. 그러나하지 않습니다. 적어도 내가 가지고있는 CrashLanding의 Texture2D는 아닙니다. – Nosredna

관련 문제