2010-06-06 3 views
2

지연 렌더링을 시도하기 위해 OpenGL에서 MRT를 사용하려고합니다. 내가 이해할 수있는 상황이 여기있다.GLSL에서 FBO 데이터 가져 오기

  1. 3 개의 렌더링 버퍼를 만듭니다 (예 :). 두 개의 RGBA8과 한 개의 Depth32.
  2. FBO를 만듭니다.
  3. FBO에 렌더링 버퍼를 연결합니다. 컬러 버퍼 용 ColorAttachment0/1, 깊이 버퍼 용 DepthAttachment.
  4. FBO를 바인딩하십시오.
  5. 도형을 그립니다.
  6. frag shader에서 gl_FragData[]을 사용하여 다른 첨부 파일로 데이터를 보냅니다. A) 프레임 버퍼 컬러 첨부 파일에서 데이터를 검색 할 수있는 방법 내가 GLSL을 사용하여 다른 패스의 데이터를 먹고 싶어 할이 시점에서

, b)는 깊이 구성 요소에서 데이터를 얻을.

답변

2

FBO 첨부 파일로 무엇을 사용하고 있습니까? Renderbuffers? 텍스처?

텍스처를 색상 첨부 (및 깊이 첨부)로 사용해야하므로 다음 단계에서 텍스처를 읽을 수 있습니다. renderbuffer로 같은 작업을 수행 할 방법이 없습니다.

+0

생성 된 이미지를 기하학의 텍스처 맵으로 사용하지 않기 때문에 renderbuffers (문제의 # 3 참조)를 사용하고있었습니다. 대신 첨부 파일로 텍스처를 사용하는 것이 더 좋을 것이라고 생각하고 두 번째 패스에서 화면 정렬 쿼드로 맵핑하는 것이 더 좋을까요? –

+0

예, 정확하게 말해서, 텍스처가 이동하는 방법입니다. –