#gdc11 #review Mega Meshes - Modeling, Rendering and Lighting a World Made of 100 Billion Polygons
mega mesh, mega texture, virtual texture, SH lighting 소개. 아티스트 친화적으로 만든 작업 파이프라인.
아티스트 친화적
- 전통적인 방식에선 image space texturing이 들어감
- 3D에서 image space로 작업 방식 점프가 발생
- 배경과 다르게 캐릭터 모델링에선 작업 방식 점프가 덜하다
- zbrush와 같은 mesh sculpting 도구 사용
- normal, albedo map을 high polygon model에서 추출이 가능
- 텍스쳐 맵핑은 사실 아티스트에게 친숙한 스테이지가 아님
- UV 매핑 능력이 모델러에게 많이 요구됨
- 그래서 mega mesh를 사용한다.
- version control, 다수 유저 지원
modelling pipeline
- modeling 툴에선 low poly model, uniform triangulation
- extra subdivision은 ZBrush/sculpting tool과 같은 툴에서만 한다.
- Mega mesh Tool에서 꽤 많은걸 해주는 듯
- version control이 썩 마음에 안 든다.
- low poly mesh는 걍 관리 안 하고 zbrush쪽으로 수정한 지오메트리만 관리.
- low poly는 틀 잡는 데만 사용하면 그닥 문제는 없어 보인다만…
- 모델링 데이터에 여러 정보가 담기는데 이건 어떡하지?
- 애니메이션 등~
hierarchical storage
- subdivision level에선 delta만 저장
- 높은 subdivision level에 crack과 같은 디테일을 삽입한다면 그보다 낮은 subdivision level 변화에 자연스럽게 적용돼서 삽입된다.
- 지형을 수정했다고 해서 다시 crack 위치를 잡아 줄 필요가 없다.
- 위상이 바뀌면 다시 re-project
mega texture
- 노란색이 mip level에 따른 텍스쳐
- 메가 텍스쳐 컴파일과정
mega texture compression
- DXT 압축으론 만족 못 함
- HDPhoto
- 엄청난 압축률을 보이지만 dithering artifact 때문에 normal map에 사용 불가
- PTC Image Coding 사용
virtual texture
- texture cache thread
- memory, latency를 줄이려고
- virtual texture를 유지하는 쓰레드
- auto balancing이 큰 장점
- physical texture가 작으면 높은 mip level 텍스쳐가 physical texture에 할당
- texture popping
- shader에 bias texture를 둬서 해결
lighting
- SH lightmap을 사용
- performance 향상
- SH vector 팔레트 (평균 2~3% 에러)
- lighting-surface probe로 구성
발표
- 발표자
- Ben Sugden (Lionhead Studios)
- Michal Iwanicki (Lionhead Studios)
- 발표자료: GDC Vault - Mega Meshes - Modeling, Rendering and Lighting a World Made of 10…