• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
[박민근] 3 d렌더링 옵티마이징_3 공간분할
 

[박민근] 3 d렌더링 옵티마이징_3 공간분할

on

  • 1,564 views

 

Statistics

Views

Total Views
1,564
Views on SlideShare
1,563
Embed Views
1

Actions

Likes
1
Downloads
20
Comments
0

1 Embed 1

http://www.pinterest.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [박민근] 3 d렌더링 옵티마이징_3 공간분할 [박민근] 3 d렌더링 옵티마이징_3 공간분할 Presentation Transcript

    • 나눌수 있다면, 가능한 나눠라!!3D RENDERINGOPTIMIZING #3- 박 민 근 (민군)DEVROOKIE(CAFÉ.NAVER.COM/DEVROOKIE) DevRookie 박민근(민군) 1
    • DevRookie 박민근(민군) 2
    • 게임상의 월드를 특정 기준으로공간적으로 분할하여, 보이지 않는 공간을 컬링한다.분할된 공간은 트리로 구성되어,상위 트리가 컬링되면 하위 트리도 컬링된다. DevRookie 박민근(민군) 3
    • 하나의 공간을 2개의 공간으로 재귀적으로 분할하는 기법FPS와 같은 인도어 게임에서 유용하다.벽이나 오브젝트를 기준으로 비균등 분할된다.실시간 보다는 미리 만들어 두는 경우가 많다. DevRookie 박민근(민군) 4
    • 하나의 공간을 두개로 분할해 나간다 DevRookie 박민근(민군) 5
    • 어떤 위치가 주어 졌을때 그 위치에서 보일 가능성이 있는 공간및 오브젝트들의 집합프리컴파일에서, 공간별로 보일 가능성이 있는 것들을 미리 선별하여 구별한다.BSP 트리의 단점을 보완하는 형태로 BSP와 같이 쓰이는 경우가 많다.문이나 창문등을 기준으로 Visible Set을 결정하는 것을 Portal Rendering이라고 한다. DevRookie 박민근(민군) 6
    • 실내공간에서의 뛰어난 성능 DevRookie 박민근(민군) 7
    • DevRookie 박민근(민군) 8
    • 문(Door)만이 Portal이 아니다 DevRookie 박민근(민군) 9
    • 4개의 하위 트리는 상위 트리에 포함되기 때문에 상위 트리가 컬링되면 하위 트리는 무조건 컬링된다.지형과 같은 2D 공간에서 주로 사용된다.4개의 공간은 균등 분할된다.Height Map을 이용한 아웃도어에서 주로 사용된다. DevRookie 박민근(민군) 10
    • 오브젝트는 자신을 완전히 포함하는 가장 작은 노드에 저장됩니다중선에 걸친 오브젝트는 한단계 상위의 노드에 저장됩니다노드의 깊이는 임의로 정합니다 DevRookie 박민근(민군) 11
    • 쿼드트리를 3D공간으로 확장한 것. (Y축 확장)비행 시뮬레이션과 같은 3D 공간 게임에서 사용된다.구현 및 내용은 쿼드트리와 거의 동일 DevRookie 박민근(민군) 12
    • 공간을 8개씩 분할해 나간다 DevRookie 박민근(민군) 13
    • 참조 : GPG 2권 4.5 – 직접 접근 쿼드 트리 참조게임 데이터가 동적으로변하는 경우에 트리의 특성상수많은 Node를 거쳐야되기때문에캐시 적중 실패율이 대단히 크게올라갑니다 DevRookie 박민근(민군) 14
    • 중선사이의 거리는 트리의 깊이와 2의 제곱관계 -> 객체의 영역이 걸처있는 가장 큰 2의 제곱수 를 구한다 -> 제곱수의 지수는 객체가 완전히 포함될수 있 는 가장 낮은 수준 -> 제곱수의 걸침이란 이진수에서 0에서 1로 변 하는 상황 -> XOR의 결과비트중 1인비트가 처음으로 나타 나는 위치가 노드 수준노드의 중선에 걸치는 객체는 자식 노드에 저장될 수 없다. DevRookie 박민근(민군) 15
    • 0 128 160 192 256 127.8 ~ 128.3 128.3 ~ 128.8 155.4 ~ 166.1 X1 127 01111111 X1 128 10000000 X1 155 10011011 X2 128 10000000 X2 128 10000000 X2 166 10100110 XOR 255 11111111 XOR 0 00000000 XOR 255 00111101 DevRookie 박민근(민군) 16
    • DevRookie 박민근(민군) 17
    • 참조 : GPG 1권 4.11 느슨한 옥트리 DevRookie 박민근(민군) 18
    • 노드의 영역을 원래 영역보다 한단계 높은 크기를사용한다.각자의 노드가 겹치기 때문에 중선이 사라지고,객체는 하위노드중의 하나에 포함된다. DevRookie 박민근(민군) 19
    • 20000 188591800016000140001200010000 94428000 6883 6883 702460004000 2976 2000 0 보인다고 판정된 객체들 실제로 보이는 객체들 체크한 노드들 일반 쿼드 트리 느슨한 쿼드 트리 DevRookie 박민근(민군) 20
    • 감사합니다. Q&A DevRookie 박민근(민군) 21
    • 10. 참고 자료1. Real Time Rendering 2판2. GPG 1, 2권3. 마이크로소프트 2002년 4월호 - 폴리곤 수를 줄이 는 가시면 결정 기법4. Nvidia SDK5. Occlusion Culling Using DirectX 96. BSP Tree 논문 번역 DevRookie 박민근(민군) 22
    • DevRookie 박민근(민군) 23