[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
Upcoming SlideShare
Loading in...5
×
 

[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱

on

  • 1,982 views

 

Statistics

Views

Total Views
1,982
Views on SlideShare
1,980
Embed Views
2

Actions

Likes
2
Downloads
22
Comments
0

2 Embeds 2

http://a0.twimg.com 1
http://twitter.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렌더링 옵티마이징_4 임포스터_인스턴싱 [박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱 Presentation Transcript

    • 3D RENDERINGOPTIMIZING #4- 박 민 근 (민군)DEVROOKIE(CAFÉ.NAVER.COM/DEVROOKIE) DevRookie 박민근(민군) 1
    • Imposter사기꾼, 다른 사람의 행세를 하는 사람 DevRookie 박민근(민군) 2
    • Simple is Best!가장 적은 수의 폴리곤을 그리는 것이가장 빠르다. DevRookie 박민근(민군) 3
    • 3D 모델 -> 2D 빌보드-퀄리티를 떨어트리지 않는 LOD비용↓ 성능↑ 실제 모델 임포스터 DevRookie 박민근(민군) 4
    • 임포스터 적용전 DevRookie 박민근(민군) 5
    • 임포스터 적용후 DevRookie 박민근(민군) 6
    • 모델을 렌러 타겟에 렌더링 빌보드 생성빌보드에 렌러 타겟을 맵핑빌보드를 백버퍼에 렌더링 임포스터 갱신 DevRookie 박민근(민군) 7
    • 트럭으로부터 생성된 임포스터.녹색라인은 임포스터를 생성하는 데 사용되는 카메라 위치로 모은다. 임포스터 빌보드에 투영되는 3D 오브젝트 텍스처에 렌더링된 4개의 3D 오브젝트 이미지 DevRookie 박민근(민군) 8
    • Alpha Blending ONE : INVSRCALPHA 일반 Mesh는 SRCALPHA : INVSRCALPHA 임포스터 빌보드는 이미 알파가 계산되어 있기 때문에 ONE : INVSRCALPHA DevRookie 박민근(민군) 9
    • 거리 (해상도) 카메라 앵글Regenarate 조명, 애니메이션 변화 임포스터 갱신 시간 DevRookie 박민근(민군) 10
    • 2D Imposter or 3D Imposter < 2D 빌보드의 문제점 > < 바운딩 박스를 이용한 3D 임포스터> DevRookie 박민근(민군) 11
    • Instancing 모아찍기 배치는 크게, 렌더링은 적게 DevRookie 박민근(민군) 12
    • 렌더링 파이프라인오브젝트 A 오버헤드오브젝트 B 렌더링 파이프라인 DevRookie 박민근(민군) 13
    • DevRookie 박민근(민군) 14
    • 인스턴싱 적용 후 DevRookie 박민근(민군) 15
    • 캐시 미스 RenderState 하나의 버텍스 Texture 버퍼에 몰아 넣어, DP Call 을 최소화같은 텍스쳐와 같은렌더 스테이트를 사용하는 것들은 단지 위치 와 회전만 다르다. DevRookie 박민근(민군) 16
    • 최적화의 원칙배치는 크게 DP Call은 작게 Reduce!! DP Call Reduce!! Cache Miss. Reduce!! SetRenderState Reduce!! SetTexture DevRookie 박민근(민군) 17
    • 장점.1. Buffer에 Lock을 걸지 않아도 구현이 가능2. 빠른 속도를 보장단점.1. 쉐이더 상수 개수 제한으로 한꺼번에 수백개 이상은 그리지 못함2. Skinning Shader등 쉐이더 상수를 많이 사용하는 방법과 병행하기 힘듬3. DP콜이 Dynamic Buffer에 비해 상대적으로 많음. DevRookie 박민근(민군) 18
    • Using Dynamic Buffer 장점. 1. 버퍼 크기만큼 인스턴싱이 가능하므로 Shader보다 더 많이 가능 2. 스키닝 애니메이션등, Shader와 연계 되지 않음. 3, DP콜이 Shader보다 상대적으로 적음 단점. 1. Lock을 걸어야 하기 때문에 부하가 상당히 큼. DevRookie 박민근(민군) 19
    • 10. 참고 자료1. grass engine using instancing - 한글 블로그2. Instancing.3. Instancing – KGC 2005 최우영 (지티스 동영상)4. 리얼타임 렌더링 DevRookie 박민근(민군) 20