framebuffer
객체에 2 패스 흐림 효과를 적용하고 있습니다. FBO
에서 전체 장면이 흐려 지려고하는 이미지로 덮여 있는지 확인하십시오. 여기에 과정이 있습니다.OpenGL : 렌더링 된 텍스처를 Framebuffer 객체에서로드
- 내가 흐리게 처리해야하는 이미지의 크기로
FBO
을 설정했습니다. 내가 (
setupOrtho(FBO's dimensions)
로 불리는) 다음과 같은 기능을 사용하여Orthographic Projection
을 설정하고 있습니다 :glViewport (W, 0, 0, H) glMatrixMode (GL_PROJECTION) glLoadIdentity 함수() glOrtho (0, 1,
- 0,1, -1,1)가 glMatrixMode (GL_MODELVIEW) glLoadIdentity 함수()이 투영을 사용
FBO
그릴.FBO
의 바인딩을 해제합니다 (화면으로 돌아 가기). -
setupPerspective(window's dimensions)
을 호출하고 위의glOrtho
을glFrustum
으로 바꾸어Perspective View
으로 전환하십시오.
간단한 흰색 사각형을 그릴 경우보기 전환이 예상대로 작동합니다. 하나의 쿼드는 Orthographic Projection
에 그리고 다른 하나는 Perspective View
에 그려집니다. 이제 렌더링 된 텍스처를 FBO
(RENDEREDTEXTURE
)으로 가져옵니다.
메인 장면의 Orthographic Projection
에 RENDEREDTEXTURE
을 바인딩하면 흐린 이미지가 표시됩니다. 내 메인 장면의 Perspective View
에 그것을 바인딩하면 이전에 보이는 흰색 쿼드 (Perspective View
에 그려져 있음)가 사라집니다.
해답 : 답변으로 게시 됨.
참고 : 텍스처를 사용할 때 MIPMAP 생성을 잊지 마십시오.
여기에 어떤 문제가있을 수 있습니까?
FBO
에서 처리하고 싶은 이미지 만 볼 수 있습니다 (내가 직각 투영을 한 경우). 메인 장면에서 처리 된 이미지는 다른 텍스처와 같습니다. 이미지 파일에서로드됩니다.
"작동하지 않음"을 정의하십시오. GPU에 화재가 발생합니까? 그것은 추락합니까? 결과가 잘못 되었습니까? –
@BartekBanachewicz 정보를 업데이트했습니다. – activatedgeek
위의 코드 블록도'setupPerspective'와 같은 함수로 묶여 있다고 가정합니다.어쨌든 프로그램을 실행하여 gDEBugger를 실행하고 원근감으로 다시 렌더링하기 전에 필요한 모든 상태 (행렬, FBO)가 원하는 값으로 다시 설정되었는지 확인할 수 있습니다. –