대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링...

36
대대대 대대대 대대대대대 대대 대대대대대 대대대 대대 대대대대 대대 대대대 대대 대대대대대 대대대 대대대대대

Transcript of 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링...

Page 1: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

대규모 월드의 스트리밍을 위한 소프트웨어 기반의

자동 오클루젼 컬링 시스템삼뽀 라팔라이넨

엄브라 소프트웨어

Page 2: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

• 2007년에 설립• 핀란드 , 헬싱키 본사 :

직원 11명 • 오클루젼 컬링 (Occlusion

Culling) 전문 기술 • 가시성 관련 솔루션 다년간의

경험 보유 • 12+ 타이틀에 엄브라 기술 적용

• 2013년 4분기부터 2014년에

출시 되는 엄브라 적용 타이틀 다수

Page 3: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템
Page 4: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

이전의 방식 • PVS

– 컴퓨팅 시간이 느리다 – STATIC

• 오클루젼 쿼어리 – GPU 싱크 맞추는 문게

• Occluder 혹은 포탈들을 수작업으로 배치해야 한다 . - 수작업 - 실외 환경을 정확하게 모델링 하기가 어렵다 .

Page 5: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템
Page 6: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템
Page 7: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

디자인에서의 바라는 점들 • 시간은 모자라고 • 메모리도 모자라고 • 자동이면 좋겠고 • 컨텐츠도 얼른얼른 제작하면 좋겠고 • 씬 (scene) 사이즈도 마음대로 정할 수

있으면 좋겠고…

Page 8: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

가시성 (Visibility) 란 ?

• 공간에 있는 라인들의 셋트 • 폴리곤 수프 (Polygon Soup) 에서 정확한 가시성을 보여주는 일은

매우 복잡한 과정이다 .

• 보수적인 가시성 방식

• 공간에 대한 논리적 접근 • 위상적인 표현 ( 사물간에 가지는 관계에 대한 상태 )

Page 9: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

작업 과정컨펜트 제작 라인 런타임

보여지는 오브젝트

가시성 데이터

Page 10: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

폴리곤 스프 (Polygon Soup)

Page 11: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

화소 (Voxel)

Page 12: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

Cell & 포탈

Page 13: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

VIEW TREE• 뷰 트리를 화소 (voxel) 에서 추출 해 낸다 .

Page 14: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

TOME 가시성

TOME

Page 15: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

블럭 스트리밍• 하위 지역에 대한

각각의 컴퓨팅STREAMINGBLOCK

STREAMINGBLOCK

STREAMINGBLOCK

STREAMINGBLOCK

STREAMINGBLOCK

Page 16: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

런타임

Page 17: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

스트리밍• 필요한 스트리밍

블럭 선택 STREAMINGBLOCK

STREAMINGBLOCK

STREAMINGBLOCK

STREAMINGBLOCK

Page 18: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

스트리밍• 가시성 TOME 에

적용 TOME

Page 19: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

가시성 (VISIBILITY) 쿼어리• TOME 에서 가져 온 보이는 오브젝트들과 Depth Buffer 를

처리TOME

Page 20: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

가시성 쿼어리1. 뷰 트리에서

시작점이 될 CELL 을 찾는다 .

Page 21: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

가시성 쿼어리2. 포탈 그래프를

래스터화 한다 . (Rasterize)

Page 22: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

뎁스 버퍼 (DEPTH BUFFER)

Page 23: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

테스트 오브젝트3. 오브젝트 가시성

Page 24: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

다이나믹 오클루더

Page 25: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

카메라 앵글 예측

Page 26: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

재생

Page 27: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

데모

Page 28: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

Demo2-3 min?

Page 29: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

Demo2-3 min?

Page 30: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

Demo2-3 min?

Page 31: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

Demo2-3 min?

Page 32: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

결론 , 그리고 미래

Page 33: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

결론• 폴리곤 수프에서 도출하는 공간 개념의 구조 • 화소 컨셉과 자동 포털 생성

Page 34: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

다른 예제들• 쉐도우 캐스터 컬링 (SHADOW CASTER

CULLING)• 개임 로직 • 오디오 오클루젼 (AUDIO OCCLUSION)• 라이팅 (LIGHTING)

Page 35: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

미래에는 ?

• 런타임에서 데이터 생성 • 레벨 분석은 자동으로 • 쉐도우 버전도 컴퓨팅 되며 • 다른 공간 개념에도 사용 가능한

Page 36: 대규모 월드의 스트리밍을 위한 소프트웨어 기반의 자동 오클루젼 컬링 시스템

감사합니다 . 질문 , 없으신가요 ??^

TOME