08_Marching Cube Terrains

1,746 views
1,524 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,746
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

08_Marching Cube Terrains

  1. 1. 김성익(noerror@hitel.net) 2008.9.21
  2. 2. Marching Cube 란(1)• IsoSurface – Isobar (2d) : 필드에서 값이 일정한 영역(선) – Isosurface : 3차원 공간에서 값이 일정한 표면
  3. 3. Marching Cube 란 (2)• IsoSurface• Voxel
  4. 4. Marching Cube 란 (3)• IsoSurface• Voxel ↓• 3d 형상화 – Metaball – Blobs
  5. 5. Marching Cube 란 (4)• IsoSurface• Voxel ↓• 3d 형상화 – Metaball – Blobs ↑• Marching Cube Algorithm
  6. 6. Marching Cube Terrain!!
  7. 7. 장점• 다양한 형태의 지형 지원 가능 – 동굴, 터널• 자유로운 변형이 용이 – 동적인 파괴!• 손쉽고 직관적인 디자인
  8. 8. 구현 단계• 3D 데이터• 각 영역별 Segment 관계로 폴리곤 생성• 텍스처 매핑
  9. 9. 데이터(1)• Voxel• Field• 3차원 배열 데이터 – 용량이 크다 • Byte로 512x512x512 정도만 가정해도 128 MB• 데이터 압축 및 효율화 – RLE 압축 – OCTREE를 이용한 씬매니징
  10. 10. 데이터(2)• Case A – 적은 메모리로 랜덤 노이즈를 이용 – 계층적
  11. 11. 폴리곤 생성(1)• 인접 영역의 값을 이용 폴리곤 생성• 256가지 형태 => 15가지 형태 (회전, 반전)
  12. 12. 폴리곤 생성(2)• 비교 : Marching Square (2d)
  13. 13. 폴리곤 생성(3)• 인접한 영역의 값으로 형태를 정한다• 버텍스를 추가 – 미리 계산된 테이블 이용 엣지에 버텍스 추가 – 엣지의 경우 평면이 생기는 지점에 버텍스 추가• 페이스 추가 – 미리 계산된 테이블 이용• 모든 영역에 대해서 반복
  14. 14. 폴리곤 생성(4)
  15. 15. 폴리곤 생성(5)• 노멀 – 같은 위치의 노멀 평균• 해상도 이슈• 동적인 생성 / 캐싱 (뷰연관)
  16. 16. 텍스처 매핑(1)• 일반적인 UV 매핑이 불가능• 알고리즘에 의해 생성
  17. 17. 텍스처 매핑(2)• Case A – 높이, 기울기에 따라 텍스처 인덱스를 매핑
  18. 18. 텍스처매핑(3)• Case B – 한 평면에 투영X – 3 평면에 투영, 노멀로 블랜딩 (텍스처 제작에 주의)
  19. 19. 참고영상• cascades - nvidia
  20. 20. 기타(1)• 동적으로 생성
  21. 21. 기타(2)• 물
  22. 22. 기타(3)• 하이트맵과 연동
  23. 23. 질문/답
  24. 24. 참고• http:/ / www.cs.montana.edu/ ~ bnct/ publications/ cory/ thesis.html• http:/ / www.ia.hiof.no/ ~ borres/ cgraph/ explain/ marching/ p- march.html• http:/ / www.econym.demon.co.uk/ isotut/• http:/ / www.gamedev.net/ community/ forums/ topic.asp?topic_id=503739• http:/ / local.wasp.uwa.edu.au/ ~ pbourke/ geometry/ polygonise/• http:/ / www.gamedev.net/ community/ forums/ mod/ journal/ journal.asp?jn=26335 0&reply_id=3198944• http:/ / www.ogre3d.org/ phpBB2/ viewtopic.php?t=32486• http:/ / www.moon- sun.com/ main/ article/ metaeffect/ metaeffect.htm• http:/ / www.nzone.com/ object/ nzone_cascades_home.html

×