2011-07-26 4 views
0

내 조각 쉐이더가 OpenGL ES 뷰포트의 픽셀 크기로 제한된다는 것을 알았습니다.고해상도 오프 스크린 프래그먼트 쉐이더를 만드는 방법은 무엇입니까?

더 많은 픽셀을 렌더링 할 수있는 "오프 스크린 조각 쉐이더"또는 렌더링 환경을 만들 수 있습니까?

+0

프래그먼트 셰이더는 해상도에 독립적입니다. 필요한 것은 프레임 버퍼라는 일반적으로 알려진 오프 스크린 렌더 타겟입니다. – Nobody

답변

6

조각 쉐이더는 버텍스 쉐이더 뒤의 래스터 화에서 생성 된 값을 사용합니다. 당신이해야 할 일은 텍스쳐 (매우 큰 텍스쳐)를 만들고 FBO에 바인딩하는 것입니다 (OGL의 doc을 보면 매우 복잡하지는 않습니다). 오프 스크린 렌더링하기 전에 렌더링의 폭과 높이를 정의 할

glViewPort

기능을 사용하십시오. 이 오프 스크린 렌더링 전에 조각 쉐이더를 사용하면 모든 것이 잘 동작합니다. 행운을 빌어 요 :)

+0

필자는 포스트 스크립트의 일부로 OpenGL ES 2.0 쉐이더 프로그램을 사용하여 오프 스크린 FBO에 이러한 종류의 렌더링을 수행하는 샘플 어플리케이션을 만들었습니다. [http://www.sunsetlakesoftware.com/2010/10/22/gpu- accelerated-video-processing-mac-and-ios)를 사용했기 때문에 거기에서 사용 된 코드는 더 큰 이미지도 처리 할 수 ​​있도록 수정할 수있었습니다. 위에서 설명한 내용을 보여줍니다. –

+0

감사합니다 Tuxer & Brad! 멋지다! –

관련 문제