11
GPG 1 권 .4.8 오오오오 오오오오 오오 ( 권권권 권권권 권권 권권 ) 2011. 02. 19 권권권 권권 권권권 권권권 권권권권 권권권 ( 권권권권 )

[Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

Embed Size (px)

Citation preview

Page 1: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

GPG 1 권 .4.8

오브젝트 오클루젼 컬링( 가려진 객체의 제외 기법 )

2011. 02. 19 초중급 게임 개발자 스터디데브루키

박민근 ( 알콜코더 )

Page 2: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

오클루젼 컬링이란 ?

Occlusion Culling앞의 오브젝트에 의해서 가려진 뒷면에 존재하는 오브젝트를 컬링하는 기법

Page 3: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

전형적인 오클루젼

Page 4: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

Why Occlusion Culling?

동적 오브젝트 ( 애니메이션 , 이동 ) 의 컬링에도 적용할 수 있다

실내뿐만 아니라 , 실외에서도 활용 가능하다

* 이 챕터에서는 전형적인 오클루젼 컬링을 다룬다 .

Page 5: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

프러스텀 컬링

Page 6: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

프러스텀 컬링 (Frustum Culling)

시야에서 제외된 오브젝트를 컬링

프러스텀 컬링의 기본 구현은 오클루젼 컬링에도 그대로 적용된다 .

Page 7: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

프러스텀 컬링 구현

1. 오브젝트의 바운딩 스피어를 시야 공간으로 변환

2. Z 값을 이용하여 근단면 , 원단면 밖의 오브젝트를 제거한다 .

3. 좌우 평면 사이에 있는지 계산한다 .

4. 상하 평면 사이에 있는지 계산한다 .

Page 8: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

오클루젼 컬링

시점 – 오클루젼 사각형으로 오클루젼 영역을 구성한다

이 프러스텀 영역에 들어가면 보이지 않는 객체이다

Page 9: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

원단면은 프러스텀 컬링에서 제외 된다 .

시점 공간에서 가장 가까운 오클루젼 Z 값을 찾는다 .

그리고 이값보다 앞에 있는 오브젝트에는 컬링을 적용할 필요가 없다

Page 10: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

오클루전 영역을 구성하는 5 개의 평면의 방정식을 구한다 .

5 개의 평면과 오브젝트의 바운딩 스피어와의 거리를 계산한다(* 프러스텀 컬링과 거의 동일하다 )

Page 11: [Gpg1권 박민근] 4.8 가려진 객체의 제외 기법 (오브젝트 오클루젼 컬링)

요 약

오클루젼 컬링을 구현하는건 그리 어렵지 않다 .

음성 (Sound) 나 한 모델 내에서 가려지는 객체를 컬링하도록 활용할 수 도 있다 .