2010년 6월 6일 일요일

깊이 버퍼를 이용한 볼륨 포그

  1. 포그 기하(안개가 드리워질 볼륨 영역을 나타내는 도형)없이 장면을 랜더링해서, 깊이 버퍼에 그 깊이값을 저장한다. 그 깊이 값을 Z1이라고 하자.
  2. 포그 기하를 포함해서 장면을 랜더링하고 깊이 버퍼에 깊이값을 저장한다. 그 깊이 값을 Z2라고 하자.
  3. Z1 - Z2를 수행한다. 포그 기하 영역밖은(안개가 드리워지지 않는) 그 차이값이 음수가 될 것이고 그렇지 않은 곳은 임의의 양수값을 가질 것이다.
  4. 실제 장면을 조명을 포함해서 랜더링한다(단 포그 기하는 제외).
  5. 뷰포트 크기와 같은 크기를 가지는 Z1 - Z2의 랜더 타겟을 텍스쳐로 바인딩하고 커스텀 포그 공식을 사용해서 색상을 결정하고 프레임 버퍼와 블렌딩한다.

댓글 없음:

댓글 쓰기