2017-12-31 124 views
0

FBO에 텍스처를 렌더링하여 표시하기 전에 텍스처에 효과를 적용 할 수 있기를 바랍니다. FBO 배열을 변경하기 위해 FBO 배열에 액세스하는 방법을 알지 못합니다. 어떤 생각? 시간 내 주셔서 감사합니다.FBO에서 바이트에 액세스

+0

설명해 주실 수 있습니까? 셰이더로 충분하지 않습니다. –

+0

FBO가 배열이 아닙니다. 이것은 다양한 렌더 타겟에 대한 상태 컨테이너 일 뿐이며 렌더링 타겟 자체는 배열이 아니기 때문에 데이터 배열은 2D 배열보다 훨씬 더 복잡합니다 (특히 최적화 됨). – derhass

+0

@derhass 디스플레이 장치 (모니터)로 전송되는 최종 이미지가 2D 배열이 아니라는 의미입니까? 그럼 그게 어떻게 생겼어? – Zebrafish

답변

1

효과를 추가하면 어떤 의미가 될 수 있습니까? fbo의 기본 개념은 fbo에 모든 것을 렌더링 한 다음 fbo를 텍스처에 적용하는 것입니다. 해당 프레임 버퍼를 텍스처에 바인딩하는 방법을 알고 싶다면 glTexImage2D에 대한 빈 데이터 세트로 텍스처를 간단히 만들고 설정하십시오. 그런 다음 프레임 버퍼 객체가 바인드 된 glFramebufferTexture2D을 호출하고 텍스처 중 하나를 인수로 전달합니다. 프레임 버퍼에 렌더링하려면 glBindFramebuffer으로 호출하십시오. 프레임 버퍼 텍스처를 바인딩하려면 다른 텍스처와 마찬가지로 glBindTexture을 호출하기 만하면됩니다.

+0

미안 나는 충분히 명확하지 않았다. 나는 물과 나무/식물 등의 반사를 포함하는 장면을 렌더링 중입니다. 일부 식물은 매우 낮은 디테일 (낮은 폴리)입니다. 반사에 잔물결 효과를 적용하고 싶지만 낮은 버텍스 카운트 때문에 효과가보기 흉하게 보입니다. 첫 번째를 fbo로 렌더링하면 개별 픽셀에 액세스 할 수 있기 때문에 (꼭지점이 아닌 최종 렌더링 된 텍스처를 조작하여) 훨씬 더 멋진 잔물결 효과를 적용 할 수 있기를 바랍니다. – carpman