2010-06-14 3 views
5

GPU를 사용하여 많은 양의 렌더링 작업이 필요합니다. 반복 계산이므로 텍스쳐에 많은 렌더링을하고 그 텍스쳐를 다른 텍스쳐로 렌더링 한 다음 두 번째 텍스쳐를 첫 번째 텍스쳐로 다시 렌더링하는 등의 작업을 반복하며 매번 텍스처를 쉐이더에 전달합니다.glFramebufferTexture2D 성능

제 질문은 렌더하려는 각 텍스처에 대해 별도의 FBO를 사용하는 것이 더 좋습니까? 아니면 렌더 타겟을 변경하려고 할 때마다 FBO 하나를 가져와 대상 텍스처를 바인딩해야합니까? glFramebufferTexture2D?

내 플랫폼은 iPhone의 OpenGL ES 2.0입니다.

답변

6

iPhone 구현시 이전 및 새 텍스처가 동일한 치수/형식/등인 것으로 가정하면 첨부 파일을 변경하는 것이 저렴합니다. 그렇지 않으면 드라이버가 프레임 버퍼를 재구성하기 위해 몇 가지 추가 작업을 수행해야합니다.

3

AFAIK 더 나은 성능은 FBO를 하나만 사용하고 필요에 따라 텍스처 첨부를 변경하면 더 효율적입니다.

+0

이 문제를 지원하는 리소스가 있습니까? – nornagon

+2

http://http.download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/OpenGL_FrameBuffer_Object.pdf 슬라이드 28 이상. –

0

가장 좋은 방법은 벤치 마크를 수행하는 것입니다.