2012-06-10 5 views
2

나는 움직이는 괴물을 나타 내기 위해 수평으로 27 프레임의 단일 PNG 스프라이트를 사용하는 OpenGL ES 게임 응용 프로그램이 있습니다. 그래서, 내 PNG는 현재 27 * 96 px 너비와 96 px 높이입니다.Android : OpenGL ES : 너무 넓은 텍스처를 처리 할 수 ​​없습니까?

저는 최근에 새로운 애니메이션을 추가 했으므로 57 프레임이되었으므로 이제는 5000x850 픽셀보다 작은 57x96 픽셀이되었습니다. 이제 내 텍스처가 단순히 흰색 사각형으로 표시됩니다!?

다른 이미지, 크기 (KB) 및 해상도로 테스트 해본 결과 4000 픽셀보다 넓은 텍스처는 파일 크기에 관계없이이 흰색 사각형을 얻는 것으로 나타났습니다.

메모리 문제입니까?
수정에 대한 아이디어가 있습니까?

Adreno 200 GPU에서 작동한다고 생각하는 HTC Desire에서 테스트하고 있습니다.

+0

OpenGL 구현은 데스크톱이든 모바일이든 관계없이 최대 텍스처 너비와 높이를 갖습니다. 애니메이션 텍스처가 너무 넓어지면 새 라인을 시작하면됩니다. – CrimsonDiego

+0

나는 그것을 모르고 있었다. 당신은 참조 링크가 있는가? –

+1

glEnvironment를 GL_MAX_TEXTURE_SIZE와 함께 사용하면 장치의 최대 텍스처 크기를 알 수 있습니다 : http://www.opengl.org/wiki/Textures_-_more 하드웨어에 따라 다르므로 4096 귀하의 HTC (실제로는 큰 비틀기)이지만, 대부분의 다른 전화기 - 특히 오래된 전화기 -는 확실히 작습니다. – CrimsonDiego

답변

3

OpenGL 구현은 데스크탑이든 모바일이든 관계없이 최대 텍스처 너비와 높이를 갖습니다. 애니메이션 텍스처가 너무 넓어지면 새 라인을 시작하면됩니다. gl_next를 GL_MAX_TEXTURE_SIZE와 함께 사용하면 장치의 최대 텍스처 크기를 찾을 수 있습니다 : opengl.org/wiki/Textures_-_more.

하드웨어에 따라 다르므로 HTC (실제 크기가 큽니다.)는 4096 일 수 있지만 대부분의 다른 휴대 전화, 특히 오래된 휴대 전화는 분명히 작습니다.

관련 문제