2014-06-07 2 views
6

휴대 기기에서 가장 많이 볼 수있는 텍스처는 한 가지 드로잉에서 렌더링 할 수있는 최대 크기와 다를 수 있습니다. 때때로 1024x1024 - 2048x2048 외 기타데스크톱 용 최대 libGDX 텍스처 크기가 있습니까?

데스크톱 게임의 경우는 무엇입니까? OpenGL 2.0을 사용하고 있습니다.

5000x5000 크기의 단일 배경 스프라이트를 그릴 계획입니다. TexturePacker가이 시나리오에서는별로 유용하지 않다고 생각합니다. 왜냐하면 저는 하나의 스프라이트를 만들려고하기 때문에 아틀라스가 필요하지 않기 때문입니다.

예, 방금 5000x5000을 테스트했으며 정상적으로 작동합니다. 실제로 고려해야 할 제한 사항이 있는지 궁금합니다. 컴퓨터마다 다를 수 있습니까?

답변

8

최대 텍스처 크기는 OpenGL의 기능으로, 비디오 카드의 장치 드라이버 (경계 내)에 크기를 남깁니다.

런타임시보고 된 제한 사항을 확인할 수 있습니다 (단, 일부 경고의 경우 Confusion with GL_MAX_TEXTURE_SIZE 참조).

실제로 다양한 하드웨어 보고서를 확인하려면 사용자의 결과 데이터베이스 (대부분 벤치 마크 성능과 관련이 있음)를 수집하고 최대 텍스처 크기와 같은 데이터도 수집하는 사이트가 있습니다. (예 : gfxbench.com 또는 http://opengl.gpuinfo.org/gl_stats_caps_single.php?listreportsbycap=GL_MAX_TEXTURE_SIZE)

현대적인 데스크톱 GPU에서는 5000x5000이 지원되는 한도 이하라고 생각합니다.

11

이외에 P.T. 나는 libGDX에서 그 코드를 제공하고 싶다고 말했다. 내 바탕 화면 시스템에서

IntBuffer intBuffer = BufferUtils.newIntBuffer(16); 
Gdx.gl20.glGetIntegerv(GL20.GL_MAX_TEXTURE_SIZE, intBuffer); 
System.out.println(intBuffer.get()); 

이 지원하는 최대 크기는 4096x4096 것을 의미, 4096 발생합니다. 그래도 내 시스템은 그렇게 오래되지 않습니다. 아마 모든 데스크탑 시스템에서 5000x5000을 사용할 수 있다고 가정하지 않아야합니다. 일반적으로 큰 텍스처가 필요하지 않으므로 모든 GPU가이를 지원하지는 않습니다. 이 문제를 해결하기 위해 여러 텍스처로 분할하고 서로 옆에 여러 개의 쿼드로 그릴 수 있습니다.