SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
김성익(noerror@hitel.net)
            2008.9.21
Marching Cube 란(1)
• IsoSurface
  – Isobar (2d) : 필드에서 값이 일정한 영역(선)




  – Isosurface : 3차원 공간에서 값이 일정한 표면
Marching Cube 란 (2)
• IsoSurface
• Voxel
Marching Cube 란 (3)
• IsoSurface
• Voxel
     ↓
• 3d 형상화
  – Metaball
  – Blobs
Marching Cube 란 (4)
• IsoSurface
• Voxel
     ↓
• 3d 형상화
  – Metaball
  – Blobs
     ↑
• Marching Cube Algorithm
Marching Cube Terrain!!
장점
• 다양한 형태의 지형 지원 가능
 – 동굴, 터널
• 자유로운 변형이 용이
 – 동적인 파괴!
• 손쉽고 직관적인 디자인
구현 단계
• 3D 데이터
• 각 영역별 Segment 관계로 폴리곤 생성
• 텍스처 매핑
데이터(1)
• Voxel
• Field
• 3차원 배열 데이터
 – 용량이 크다
   • Byte로 512x512x512 정도만 가정해도 128 MB

• 데이터 압축 및 효율화
 – RLE 압축
 – OCTREE를 이용한 씬매니징
데이터(2)
• Case A
  – 적은 메모리로 랜덤 노이즈를 이용
  – 계층적
폴리곤 생성(1)
• 인접 영역의 값을 이용
  폴리곤 생성



• 256가지 형태 => 15가지 형태 (회전, 반전)
폴리곤 생성(2)
• 비교 : Marching Square (2d)
폴리곤 생성(3)
• 인접한 영역의 값으로 형태를 정한다
• 버텍스를 추가
 – 미리 계산된 테이블 이용 엣지에 버텍스 추가
 – 엣지의 경우 평면이 생기는 지점에 버텍스
   추가
• 페이스 추가
 – 미리 계산된 테이블 이용
• 모든 영역에 대해서 반복
폴리곤 생성(4)
폴리곤 생성(5)
• 노멀
 – 같은 위치의 노멀 평균


• 해상도 이슈




• 동적인 생성 / 캐싱 (뷰연관)
텍스처 매핑(1)
• 일반적인 UV 매핑이 불가능
• 알고리즘에 의해 생성
텍스처 매핑(2)
• Case A
  – 높이, 기울기에 따라 텍스처 인덱스를 매핑
텍스처매핑(3)
• Case B
  – 한 평면에 투영X
  – 3 평면에 투영, 노멀로 블랜딩 (텍스처 제작에 주의)
참고영상
• cascades - nvidia
기타(1)
• 동적으로 생성
기타(2)
• 물
기타(3)
• 하이트맵과 연동
질문/답
참고
•   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

Más contenido relacionado

La actualidad más candente

옥트리의 구축
옥트리의 구축옥트리의 구축
옥트리의 구축sj k
 
Dijkstra algorithm
Dijkstra algorithmDijkstra algorithm
Dijkstra algorithmminhee An
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기Byeong-Hyeok Yu
 
G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)Jake Yoon
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑진현 조
 
COCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionCOCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionHongjun Jang
 

La actualidad más candente (7)

옥트리의 구축
옥트리의 구축옥트리의 구축
옥트리의 구축
 
Dijkstra algorithm
Dijkstra algorithmDijkstra algorithm
Dijkstra algorithm
 
190909 ambient
190909 ambient190909 ambient
190909 ambient
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)G+ Summer C Study 20130717(7일차)
G+ Summer C Study 20130717(7일차)
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
 
COCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionCOCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solution
 

Destacado

[EWD]class01 0308
[EWD]class01 0308[EWD]class01 0308
[EWD]class01 0308jylee6977
 
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
 구글 기술을 이용한 모바일 클라우드 애플리케이션 개발 구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발LGU+
 
[Imr2014]week01
[Imr2014]week01[Imr2014]week01
[Imr2014]week01JY LEE
 
[Nux]02 introduction pdf
[Nux]02 introduction pdf[Nux]02 introduction pdf
[Nux]02 introduction pdfjylee_kgit
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoopMinJae Kang
 
Docker introduction
Docker introductionDocker introduction
Docker introductionDaegwon Kim
 

Destacado (7)

[EWD]class01 0308
[EWD]class01 0308[EWD]class01 0308
[EWD]class01 0308
 
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
 구글 기술을 이용한 모바일 클라우드 애플리케이션 개발 구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
 
[Imr2014]week01
[Imr2014]week01[Imr2014]week01
[Imr2014]week01
 
[Nux]02 introduction pdf
[Nux]02 introduction pdf[Nux]02 introduction pdf
[Nux]02 introduction pdf
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoop
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
[Imr]week1
[Imr]week1[Imr]week1
[Imr]week1
 

Similar a 08_Marching Cube Terrains

Voxel based game_optimazation_relelase
Voxel based game_optimazation_relelaseVoxel based game_optimazation_relelase
Voxel based game_optimazation_relelaseYEONG-CHEON YOU
 
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법강 민우
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술YEONG-CHEON YOU
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
Real-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelReal-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelJaeyun Lee
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemdrandom
 

Similar a 08_Marching Cube Terrains (7)

Voxel based game_optimazation_relelase
Voxel based game_optimazation_relelaseVoxel based game_optimazation_relelase
Voxel based game_optimazation_relelase
 
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
[Week20] D3.js_Mapping
[Week20] D3.js_Mapping[Week20] D3.js_Mapping
[Week20] D3.js_Mapping
 
Real-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelReal-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel model
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
 

Más de noerror

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlasnoerror
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용noerror
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집noerror
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법noerror
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템noerror
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법noerror
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법noerror
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드noerror
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기noerror
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강noerror
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개noerror
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문noerror
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개noerror
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editornoerror
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁noerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)noerror
 

Más de noerror (20)

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)
 

08_Marching Cube Terrains