Custom Framebuffer

Custom Framebuffer

태그
객체화
직렬화
 
 
커스텀 프레임버퍼 텍스쳐를 오른쪽 원반에 그리는 모습
커스텀 프레임버퍼 텍스쳐를 오른쪽 원반에 그리는 모습
프레임버퍼를 객체화하여 언리얼의 렌더 타깃, 유니티의 렌더 텍스쳐를 구현하였습니다.
프레임버퍼를 이용하여 카메라를 통해 따로 렌더링 된 이미지를 텍스쳐로 쉽게 얻어올 수 있습니다. 이를 응용하여 CCTV 같은 효과와 실시간 인게임 리플렉션 맵을 구현할 수 있습니다.
처음으로 제작한 당시엔 위 블로그 게시글과 같이 한 프레임버퍼엔 하나만 렌더링되는 형식으로만 제작하였습니다.
그러나 디퍼드 렌더링을 위해 G버퍼같은 특수 프레임버퍼를 구현해야하기 때문에 다중 렌더 버퍼 및 텍스쳐를 지원하도록 수정을 하였습니다.
크로스 플랫폼 형태로 문제점을 찾던 중 프레임버퍼가 렌더링되지 않는 문제점이 발생하였습니다.
해당 문제점은 ES버전에서 텍스쳐 및 렌더 버퍼의 포맷이 너무 추상적이여서 나타난 문제였습니다.
이를 통해 ES환경에선 상세한 포맷 설정이 필수이고, 상용화된 게임엔진에서 상세한 포맷설정이 무조건적으로 따로 작성된 이유도 알게되었습니다.