2013-10-15 1 views
0

OpenGL ES 2.0과 관련된 소프트웨어를 작성하고 있습니다. GLSL을 사용하여 몇 가지 추가 특수 효과로 사진을 선물하는 것입니다.iphone 5에서 IOS 7을 사용하는 OpenGLES 2.0 문제

모든 것이 잘 작동했으며 쉐이더는 iPhone 4, iPhone 4s 및 iPhone 5 (IOS7 포함)에서 잘 수행되었습니다. 그러나 IOS7이 설치된 iPhone 5S를 사용하여 소프트웨어를 테스트했을 때 OpenGL은 내가 작성한 모든 GLSL 쉐이더에 대해 명확한 색상만을 제공합니다 (glClearColor로 변경할 수 있음). 최신 장치로는 작업 할 수 없습니다.

것을 glDrawElements에 대한 모든 첫 번째 호출이 사용 된 OpenGL은 프로그램이을 컴파일 후 (I가 중요한 경우 VBO를 사용하고 있습니다) (새로운 OpenGL을 쉐이더 프로그램을 매번 컴파일 아이폰 5S에 또 다른 비정상적인 현상이다 사용자가 특수 효과를 전환하면 을 현재 스레드에서 약 10 초 동안 차단합니다.

나는 XCode 5와 4.6으로 컴파일하려고했는데, 두 결과 모두 똑같은 결과를 주었다.

IOS7의 프로젝트가 iPhone 5에 설치되어있어 문제가 OS 버전이나 SDK 버전이 아니어야합니다. 나는 새로운 GPU가 원인일지도 모른다고 생각하지만, 코드를 수정하거나 코드가 어디에서 실패했는지 테스트하는 방법을 모른다. 그것만을 알아내는 데 하루 종일 걸렸습니다. glDrawElements 문제.

소프트웨어의 코드가 너무 많아서 제 질문에 모든 것을 게시 할 수 없습니다. 누군가가 나에게 도움이나 아이디어를 줄 수 있다면 감사 할 것입니다.

질문을 더 잘하기 위해 최신 OpenGL 쉐이더가 최신 iPhone GPU에서 실패한 것으로 보입니다. 그래서 만약 궁금하네요 :

  • 최신 애플 A7 GPU 일부는 OpenGL ES 2.0 기능에 대한 지원을 차단
  • 아이폰 5S
  • 을 사용하여 버텍스 버퍼 오브젝트 (VBO)를 만드는 방법에 대한 몇 가지 제한이 있습니다 RenderBuffer, 프레임 버퍼 및 TextureBuffer의 아이폰 5S이 내가 지금 생각할 수있는 모든 의심스러운 부분

에 어떤 차이가 (멀티 쉐이더을 수행하는 데 사용),하지만 난 '때문에, 그것들을 테스트하는 방법을 몰라 이제는 렌더링 된 프레임 하나도 얻지 못합니다.

+1

유일한 것은 5S 매우 게으른 상태 설정 및/또는 5 없었 엄격한 유효성 검사 규칙을 가지고 있다는 것입니다. 일반적으로 리소스를 바인딩하고 처음 사용할 때 시간이 오래 걸리는 경우 지연된 설치/할당 및 유효성 검사가 일부 필요합니다. 'glDrawElements (...)'를 비난하지 말라. 드로 그린을 할 때 마침내 커밋되는 일이없는 무언가가 당신을 놀라게 할 것이다. 아마도 정점 데이터와 아무 관련이 없으며 리소스 할당/유효성 검사와 관련이 있습니다.팁 : –

+0

thx btw, 난 5s 사이의 OpenGL의 차이에 대해 이야기하는 문서를 찾지 못했고 그것은 priors입니다. 네가 나를 좀 줄 수 있다면 기뻐할거야. @ AndonM.Coleman – TwilightSun

+0

나는 또한 IOS 응용 프로그램과 비슷한 문제를보고하는 사용자가 있습니다. OpenGLES 2.0 GLKView는 iPhone 5에서는 회색/흰색으로 표시되지만 다른 Apple 장치에서는 회색으로 표시됩니다. 나는 아직도 원인을 결정하려고 노력하고있다. 첫 번째 단계는 개발 환경을 Xcode 5 및 IOS 7 SDK로 업그레이드하는 것이 었습니다. – sparky

답변

1

iPhone 5와 5S의 가장 큰 차이점은 64 비트 아키텍처입니다. 나는 이제 셰이더에 수레를 넘기는 문제를 애플 리케이션에보고있다. 64 비트 모드에서 0.8을 넘길 때 -1.58819e-23으로 쉐이더에 도달합니다. 문제와 관련하여 새로운 질문을하고 싶지만 OpenGL ES 프레임 캡처를 사용하여 런타임에 값을 확인할 수 있습니다. 내가 생각할 수있는

https://developer.apple.com/library/mac/recipes/xcode_help-debugger/articles/debugging_opengl_es_frame.html

관련 문제