프레임레이트 향상을 위한 공간분할프레임레이트 향상을 위한 공간분할
및 오브젝트 컬링 기법및 오브젝트 컬링 기법
유영천유영천
nhn gamesnhn games
SlushSlush 팀 팀장팀 팀장 // 리드 프로그래머리드 프로그래머
프레임 레이트를 높이려면프레임 레이트를 높이려면 ??
 최신형 그래픽 카드를 장착하게 한다최신형 그래픽 카드를 장착하게 한다 ..
 그래픽 리소스의 퀄리티를 대폭 떨어뜨린그래픽 리소스의 퀄리티를 대폭 떨어뜨린
다다 ..
 불필요한 오브젝트를 렌더링하지 않도록불필요한 오브젝트를 렌더링하지 않도록
프로그래밍한다프로그래밍한다 ..
보이지 않는 오브젝트 그리지 않기보이지 않는 오브젝트 그리지 않기
컬링없음컬링없음 .. 가속기 완전 의존가속기 완전 의존
View
Frustum
장점장점 // 단점단점
 만들기 쉽다만들기 쉽다 ..  무한대의 성능을 자랑무한대의 성능을 자랑
하는 그래픽 카드가 나하는 그래픽 카드가 나
오면 게임을 출시할 수오면 게임을 출시할 수
있다있다 ..
OnlyOnly 뷰프러스텀 컬링뷰프러스텀 컬링
View
Frustum
장점장점 // 단점단점
 만들기 쉽다만들기 쉽다 ..
 그래픽 카드의 부담은그래픽 카드의 부담은
상당히 줄여준다상당히 줄여준다 ..
 모든 오브젝트들에 대모든 오브젝트들에 대
해서 뷰프러스텀에 들해서 뷰프러스텀에 들
어가는지를 검사해야어가는지를 검사해야
하므로하므로 cpucpu 자원을 많자원을 많
이 잡아먹는다이 잡아먹는다
뷰프러스텀 컬링뷰프러스텀 컬링 ++ 쿼드트리 또는 옥트리쿼드트리 또는 옥트리
View
Frustum
장점장점 // 단점단점
 비교적 만들기 쉽다비교적 만들기 쉽다 ..
 뷰프러스텀 검사를 할뷰프러스텀 검사를 할
대상들을 대폭 줄여주대상들을 대폭 줄여주
므로므로 cpucpu 자원을 상당자원을 상당
히 아낄 수 있다히 아낄 수 있다 ..
 실외지형에서는 과거실외지형에서는 과거
에나 현재에나 상당히에나 현재에나 상당히
효과적이다효과적이다 ..
 차폐물에차폐물에 (( 벽벽 ,, 산 등산 등 ))
가려진 오브젝트들에가려진 오브젝트들에
대한 컬링은 여전히 불대한 컬링은 여전히 불
가능하다가능하다 ..
뷰프러스텀뷰프러스텀 ++ 쿼드트리쿼드트리 ++ 오클루젼오클루젼
View
Frustum
장점장점 // 단점단점
 비교적 만들기 쉽다비교적 만들기 쉽다 ..
 뷰프러스텀 검사를 할 대뷰프러스텀 검사를 할 대
상들을 대폭 줄여주므로상들을 대폭 줄여주므로
cpucpu 자원을 상당히 아낄자원을 상당히 아낄
수 있다수 있다 ..
 실외지형에서는 과거에나실외지형에서는 과거에나
현재에나 상당히 효과적현재에나 상당히 효과적
이다이다 ..
 차폐물에 가려진 오브젝차폐물에 가려진 오브젝
트들을 렌더링 파이프라트들을 렌더링 파이프라
인에서 제거할 수 있다인에서 제거할 수 있다 ..
 특성상 정밀한 컬링은 어특성상 정밀한 컬링은 어
렵다렵다 ..
 H/WH/W 오클루젼 컬링의 경오클루젼 컬링의 경
우 검사에 소모되는우 검사에 소모되는
CPU/GPUCPU/GPU 클럭을 무시할클럭을 무시할
수 없다수 없다 ..
 S/WS/W 오클루젼 컬링의 경오클루젼 컬링의 경
우 오클루젼이 많아지면우 오클루젼이 많아지면
그 자체로 오클루젼 검색그 자체로 오클루젼 검색
을 위한을 위한 CPUCPU 클럭을 소모클럭을 소모
한다한다 ..
BSP/PORTAL/PVS +BSP/PORTAL/PVS + 뷰프러스텀컬링뷰프러스텀컬링
장점장점 // 단점단점
 실내에 한해서 차폐물실내에 한해서 차폐물
에 대한 컬링은 거의에 대한 컬링은 거의
완벽하다완벽하다 .. 따라서 매따라서 매
우 훌륭한 퍼포먼스를우 훌륭한 퍼포먼스를
보여준다보여준다 (quake(quake 시리시리
즈즈 ))
 BSP/PORTALBSP/PORTAL 을 이용을 이용
해서해서 PVSPVS 를를 [[ 제대제대
로로 ]] 구현했다면 자랑구현했다면 자랑
할만하다할만하다 ..
 만들기 어렵다만들기 어렵다
 닫힌 공간에서만 사용닫힌 공간에서만 사용
할 수 있다할 수 있다 .. 따라서 실따라서 실
외처리가 어렵다외처리가 어렵다 ..
 실내가 아닌 실외실내가 아닌 실외 (( 광광
대역 지형대역 지형 )) 에서는 거에서는 거
의 이득을 볼 수 없다의 이득을 볼 수 없다 ..
완벽한 방법은 없었다완벽한 방법은 없었다 ..
절충안은절충안은 ??
PORTAL +PORTAL + 뷰프러스텀뷰프러스텀 ++ 전용툴을 이용한 컬링전용툴을 이용한 컬링
기본컨셉기본컨셉 (1)(1)
 ROOMROOM 단위로 공간을 나눈다단위로 공간을 나눈다 ..
 [[ 바깥바깥 ]] 은 오직 한 개의은 오직 한 개의 Exterior RoomExterior Room 으로 정의한다으로 정의한다 ..
 ROOMROOM 과과 ROOMROOM 은은 PORTALPORTAL 로서 연결된로서 연결된
다다 .EXTERIOR ROOM.EXTERIOR ROOM 도도 ROOMROOM 이므로 포탈로서 연결이므로 포탈로서 연결
된다된다 ..
 바깥과 안을 구분하기 위해바깥과 안을 구분하기 위해 Interior WallInterior Wall 과과 Exterior WallExterior Wall
을 정의한다을 정의한다 ..
 카메라가 어느카메라가 어느 ROOMROOM 에 속하는지는에 속하는지는 BSPBSP 트리를 탐색트리를 탐색
하여 알 수 있다하여 알 수 있다 ..
 임의의임의의 ROOMROOM 에서는에서는 ROOMROOM 과 연결된과 연결된 PORTALPORTAL 을 통을 통
과하여과하여 ROOMROOM 바깥의 공간을 볼 수 있다바깥의 공간을 볼 수 있다 ..
 구현을 위해서는구현을 위해서는 Exterior RoomExterior Room 과과 Interior RoomInterior Room 을 모을 모
델링하고델링하고 PORTALPORTAL 로 연결시켜줄 수 있는 모델링 툴이로 연결시켜줄 수 있는 모델링 툴이
필요하다필요하다 ..
기본컨셉기본컨셉 (2)(2)
기본컨셉기본컨셉 (3)(3)
전용 툴을 사용하는 이유전용 툴을 사용하는 이유
 완벽하게 정밀한 컬링이 필요한 것은 아님완벽하게 정밀한 컬링이 필요한 것은 아님
 BSPBSP 트리 노드와트리 노드와 PORTALPORTAL 을 개수를 제어할 필요가 있을 개수를 제어할 필요가 있
음음
 3DSMAX3DSMAX 와 같은 툴로는 규칙에 맞는와 같은 툴로는 규칙에 맞는 (( 닫힌 매쉬닫힌 매쉬 )) 매쉬매쉬
를 제작하기 어려움를 제작하기 어려움
그래픽 작업수순그래픽 작업수순
 가이드 매쉬 제작가이드 매쉬 제작
 3DSMAX3DSMAX 로의 임포트로의 임포트
 3DSMAX3DSMAX 에의 모델링에의 모델링
 가이드 매쉬의가이드 매쉬의 BSPBSP 트리 빌드트리 빌드
 3DSMAX3DSMAX 에서 만들어진 데이터의 삽임에서 만들어진 데이터의 삽임
1.1. 전용 툴을 사용해서전용 툴을 사용해서 BSPBSP 빌드용 매쉬를 모델링빌드용 매쉬를 모델링
2. 3DSMAX2. 3DSMAX 로 임포트하여 건물모델링로 임포트하여 건물모델링 (1)(1)
2. 3DSMAX2. 3DSMAX 로 임포트하여 건물모델링로 임포트하여 건물모델링 (2)(2)
3. SP3. SP 매쉬를매쉬를 BSPBSP 트리로 빌드트리로 빌드
4.4. 맥스에서 만든 모델을 트리에 삽입맥스에서 만든 모델을 트리에 삽입
장점장점 // 단점단점
 프로그래밍 작업이 쉽지프로그래밍 작업이 쉽지
는 않다는 않다 ..
 폴리곤의 불린연산이 가폴리곤의 불린연산이 가
능한 툴을 제작해야한다능한 툴을 제작해야한다 ..
 디자이너는 맥스 이외의디자이너는 맥스 이외의
툴툴 (( 어쩌면 버그투성이어쩌면 버그투성이
의의 )) 을 사용하여 추가의을 사용하여 추가의
매쉬를 제작해야한다매쉬를 제작해야한다 ..
 약간은 디자인상의 제약약간은 디자인상의 제약
이 생긴다이 생긴다 ..
 카메라가 실외 공간에 있카메라가 실외 공간에 있
을때 효율이 떨어지는 것을때 효율이 떨어지는 것
을 획기적으로 개선시키을 획기적으로 개선시키
지는 못한다지는 못한다 ..
 카메라가 실내 공간에 있카메라가 실내 공간에 있
을때는 상당한 퍼포먼스을때는 상당한 퍼포먼스
를 보장한다를 보장한다 ..
 오클루젼 컬링을 병행하오클루젼 컬링을 병행하
지 않더라도 실외처리에지 않더라도 실외처리에
서 유리하다서 유리하다 ..
보완해야할 점보완해야할 점
 인간 친화적인인간 친화적인 UIUI 로의 개선로의 개선
 육면체 이외의 브러쉬 지원육면체 이외의 브러쉬 지원
 맥스에서 만든 모델로부터의 임포트 기능맥스에서 만든 모델로부터의 임포트 기능
 자동화된 오클루젼 생성기능자동화된 오클루젼 생성기능

프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법

  • 1.
    프레임레이트 향상을 위한공간분할프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법및 오브젝트 컬링 기법 유영천유영천 nhn gamesnhn games SlushSlush 팀 팀장팀 팀장 // 리드 프로그래머리드 프로그래머
  • 2.
    프레임 레이트를 높이려면프레임레이트를 높이려면 ??  최신형 그래픽 카드를 장착하게 한다최신형 그래픽 카드를 장착하게 한다 ..  그래픽 리소스의 퀄리티를 대폭 떨어뜨린그래픽 리소스의 퀄리티를 대폭 떨어뜨린 다다 ..  불필요한 오브젝트를 렌더링하지 않도록불필요한 오브젝트를 렌더링하지 않도록 프로그래밍한다프로그래밍한다 ..
  • 3.
    보이지 않는 오브젝트그리지 않기보이지 않는 오브젝트 그리지 않기
  • 4.
    컬링없음컬링없음 .. 가속기완전 의존가속기 완전 의존 View Frustum
  • 5.
    장점장점 // 단점단점 만들기 쉽다만들기 쉽다 ..  무한대의 성능을 자랑무한대의 성능을 자랑 하는 그래픽 카드가 나하는 그래픽 카드가 나 오면 게임을 출시할 수오면 게임을 출시할 수 있다있다 ..
  • 6.
  • 7.
    장점장점 // 단점단점 만들기 쉽다만들기 쉽다 ..  그래픽 카드의 부담은그래픽 카드의 부담은 상당히 줄여준다상당히 줄여준다 ..  모든 오브젝트들에 대모든 오브젝트들에 대 해서 뷰프러스텀에 들해서 뷰프러스텀에 들 어가는지를 검사해야어가는지를 검사해야 하므로하므로 cpucpu 자원을 많자원을 많 이 잡아먹는다이 잡아먹는다
  • 8.
    뷰프러스텀 컬링뷰프러스텀 컬링++ 쿼드트리 또는 옥트리쿼드트리 또는 옥트리 View Frustum
  • 9.
    장점장점 // 단점단점 비교적 만들기 쉽다비교적 만들기 쉽다 ..  뷰프러스텀 검사를 할뷰프러스텀 검사를 할 대상들을 대폭 줄여주대상들을 대폭 줄여주 므로므로 cpucpu 자원을 상당자원을 상당 히 아낄 수 있다히 아낄 수 있다 ..  실외지형에서는 과거실외지형에서는 과거 에나 현재에나 상당히에나 현재에나 상당히 효과적이다효과적이다 ..  차폐물에차폐물에 (( 벽벽 ,, 산 등산 등 )) 가려진 오브젝트들에가려진 오브젝트들에 대한 컬링은 여전히 불대한 컬링은 여전히 불 가능하다가능하다 ..
  • 10.
    뷰프러스텀뷰프러스텀 ++ 쿼드트리쿼드트리++ 오클루젼오클루젼 View Frustum
  • 11.
    장점장점 // 단점단점 비교적 만들기 쉽다비교적 만들기 쉽다 ..  뷰프러스텀 검사를 할 대뷰프러스텀 검사를 할 대 상들을 대폭 줄여주므로상들을 대폭 줄여주므로 cpucpu 자원을 상당히 아낄자원을 상당히 아낄 수 있다수 있다 ..  실외지형에서는 과거에나실외지형에서는 과거에나 현재에나 상당히 효과적현재에나 상당히 효과적 이다이다 ..  차폐물에 가려진 오브젝차폐물에 가려진 오브젝 트들을 렌더링 파이프라트들을 렌더링 파이프라 인에서 제거할 수 있다인에서 제거할 수 있다 ..  특성상 정밀한 컬링은 어특성상 정밀한 컬링은 어 렵다렵다 ..  H/WH/W 오클루젼 컬링의 경오클루젼 컬링의 경 우 검사에 소모되는우 검사에 소모되는 CPU/GPUCPU/GPU 클럭을 무시할클럭을 무시할 수 없다수 없다 ..  S/WS/W 오클루젼 컬링의 경오클루젼 컬링의 경 우 오클루젼이 많아지면우 오클루젼이 많아지면 그 자체로 오클루젼 검색그 자체로 오클루젼 검색 을 위한을 위한 CPUCPU 클럭을 소모클럭을 소모 한다한다 ..
  • 12.
    BSP/PORTAL/PVS +BSP/PORTAL/PVS +뷰프러스텀컬링뷰프러스텀컬링
  • 13.
    장점장점 // 단점단점 실내에 한해서 차폐물실내에 한해서 차폐물 에 대한 컬링은 거의에 대한 컬링은 거의 완벽하다완벽하다 .. 따라서 매따라서 매 우 훌륭한 퍼포먼스를우 훌륭한 퍼포먼스를 보여준다보여준다 (quake(quake 시리시리 즈즈 ))  BSP/PORTALBSP/PORTAL 을 이용을 이용 해서해서 PVSPVS 를를 [[ 제대제대 로로 ]] 구현했다면 자랑구현했다면 자랑 할만하다할만하다 ..  만들기 어렵다만들기 어렵다  닫힌 공간에서만 사용닫힌 공간에서만 사용 할 수 있다할 수 있다 .. 따라서 실따라서 실 외처리가 어렵다외처리가 어렵다 ..  실내가 아닌 실외실내가 아닌 실외 (( 광광 대역 지형대역 지형 )) 에서는 거에서는 거 의 이득을 볼 수 없다의 이득을 볼 수 없다 ..
  • 14.
    완벽한 방법은 없었다완벽한방법은 없었다 .. 절충안은절충안은 ??
  • 15.
    PORTAL +PORTAL +뷰프러스텀뷰프러스텀 ++ 전용툴을 이용한 컬링전용툴을 이용한 컬링
  • 16.
    기본컨셉기본컨셉 (1)(1)  ROOMROOM단위로 공간을 나눈다단위로 공간을 나눈다 ..  [[ 바깥바깥 ]] 은 오직 한 개의은 오직 한 개의 Exterior RoomExterior Room 으로 정의한다으로 정의한다 ..  ROOMROOM 과과 ROOMROOM 은은 PORTALPORTAL 로서 연결된로서 연결된 다다 .EXTERIOR ROOM.EXTERIOR ROOM 도도 ROOMROOM 이므로 포탈로서 연결이므로 포탈로서 연결 된다된다 ..  바깥과 안을 구분하기 위해바깥과 안을 구분하기 위해 Interior WallInterior Wall 과과 Exterior WallExterior Wall 을 정의한다을 정의한다 ..  카메라가 어느카메라가 어느 ROOMROOM 에 속하는지는에 속하는지는 BSPBSP 트리를 탐색트리를 탐색 하여 알 수 있다하여 알 수 있다 ..  임의의임의의 ROOMROOM 에서는에서는 ROOMROOM 과 연결된과 연결된 PORTALPORTAL 을 통을 통 과하여과하여 ROOMROOM 바깥의 공간을 볼 수 있다바깥의 공간을 볼 수 있다 ..  구현을 위해서는구현을 위해서는 Exterior RoomExterior Room 과과 Interior RoomInterior Room 을 모을 모 델링하고델링하고 PORTALPORTAL 로 연결시켜줄 수 있는 모델링 툴이로 연결시켜줄 수 있는 모델링 툴이 필요하다필요하다 ..
  • 17.
  • 18.
  • 19.
    전용 툴을 사용하는이유전용 툴을 사용하는 이유  완벽하게 정밀한 컬링이 필요한 것은 아님완벽하게 정밀한 컬링이 필요한 것은 아님  BSPBSP 트리 노드와트리 노드와 PORTALPORTAL 을 개수를 제어할 필요가 있을 개수를 제어할 필요가 있 음음  3DSMAX3DSMAX 와 같은 툴로는 규칙에 맞는와 같은 툴로는 규칙에 맞는 (( 닫힌 매쉬닫힌 매쉬 )) 매쉬매쉬 를 제작하기 어려움를 제작하기 어려움
  • 20.
    그래픽 작업수순그래픽 작업수순 가이드 매쉬 제작가이드 매쉬 제작  3DSMAX3DSMAX 로의 임포트로의 임포트  3DSMAX3DSMAX 에의 모델링에의 모델링  가이드 매쉬의가이드 매쉬의 BSPBSP 트리 빌드트리 빌드  3DSMAX3DSMAX 에서 만들어진 데이터의 삽임에서 만들어진 데이터의 삽임
  • 21.
    1.1. 전용 툴을사용해서전용 툴을 사용해서 BSPBSP 빌드용 매쉬를 모델링빌드용 매쉬를 모델링
  • 22.
    2. 3DSMAX2. 3DSMAX로 임포트하여 건물모델링로 임포트하여 건물모델링 (1)(1)
  • 23.
    2. 3DSMAX2. 3DSMAX로 임포트하여 건물모델링로 임포트하여 건물모델링 (2)(2)
  • 24.
    3. SP3. SP매쉬를매쉬를 BSPBSP 트리로 빌드트리로 빌드
  • 25.
    4.4. 맥스에서 만든모델을 트리에 삽입맥스에서 만든 모델을 트리에 삽입
  • 26.
    장점장점 // 단점단점 프로그래밍 작업이 쉽지프로그래밍 작업이 쉽지 는 않다는 않다 ..  폴리곤의 불린연산이 가폴리곤의 불린연산이 가 능한 툴을 제작해야한다능한 툴을 제작해야한다 ..  디자이너는 맥스 이외의디자이너는 맥스 이외의 툴툴 (( 어쩌면 버그투성이어쩌면 버그투성이 의의 )) 을 사용하여 추가의을 사용하여 추가의 매쉬를 제작해야한다매쉬를 제작해야한다 ..  약간은 디자인상의 제약약간은 디자인상의 제약 이 생긴다이 생긴다 ..  카메라가 실외 공간에 있카메라가 실외 공간에 있 을때 효율이 떨어지는 것을때 효율이 떨어지는 것 을 획기적으로 개선시키을 획기적으로 개선시키 지는 못한다지는 못한다 ..  카메라가 실내 공간에 있카메라가 실내 공간에 있 을때는 상당한 퍼포먼스을때는 상당한 퍼포먼스 를 보장한다를 보장한다 ..  오클루젼 컬링을 병행하오클루젼 컬링을 병행하 지 않더라도 실외처리에지 않더라도 실외처리에 서 유리하다서 유리하다 ..
  • 27.
    보완해야할 점보완해야할 점 인간 친화적인인간 친화적인 UIUI 로의 개선로의 개선  육면체 이외의 브러쉬 지원육면체 이외의 브러쉬 지원  맥스에서 만든 모델로부터의 임포트 기능맥스에서 만든 모델로부터의 임포트 기능  자동화된 오클루젼 생성기능자동화된 오클루젼 생성기능