SlideShare uma empresa Scribd logo
1 de 48
DevRookie(GPG스터디) 4.16 실시간 사실적 지형생성 4.17 프랙탈 지형 생성 – 단층 변형 4.18 프랙탈 지형 생성 – 중점 높이 이동 4.19 프랙탈 지형 생성 – 입자 퇴적 조 진현( GOGN )
프랙탈( Fractal )
유클리드 기하학에 대한 도전
새로운 기하학의 탄생
프랙탈( Fractal ) ,[object Object]
자기 유사성( self-similarity )
순환성( recursiveness )
정수 차원 이외의 차원을 갖는 도형( 분수 차원 )
복잡계( complex system ),[object Object]
왜 게임 개발에 등장했는가?
당시 게이머의 특징. 하나의 게임을 오래 즐김. …
유저는 원했었다! 더 다양한 컨텐츠
다양한 지형을 생성하는 것 저장 < 생성
적은 저장 공간을 소모해야 한다!
나에겐 rand()가있지!
Rand() 의 문제점. 자연스럽지 못하다. 생성한 것을 재현할 수 없다. Srand() 의 시드 값을 활용!!!
랜덤 함을 더 예측 가능하게~~
어떻게 사용하는가?
단층 변형 프랙탈 ( Fault Formation Fractal )
단층선 단계
침식 단계
FIR 필터 Void FilterHeightBand( float* fpBand, int iStride, int iCount, float fFilter )    {        float v= fpBand[0];        int j  = iStride;        int i;            //go through the height band and apply the erosion filter         for( i=0; i<iCount-1; i++ )        {            fpBand[j]= fFilter*v + ( 1-fFilter )*fpBand[j];                        v = fpBand[j];            j+= iStride;        }    }    필드의 각 행과 열을 적용한다.
침식 단계 Void FilterHeightField( float* fpHeightData, float fFilter )    {        int i;           //erode left to right         for( i=0; i<m_iSize; i++ )            FilterHeightBand( &fpHeightData[m_iSize*i], 1, m_iSize, fFilter );                //erode right to left         for( i=0; i<m_iSize; i++ )            FilterHeightBand( &fpHeightData[m_iSize*i+m_iSize-1], -1, m_iSize, fFilter );            //erode top to bottom         for( i=0; i<m_iSize; i++ )            FilterHeightBand( &fpHeightData[i], m_iSize, m_iSize, fFilter);            //erode from bottom to top         for( i=0; i<m_iSize; i++ )            FilterHeightBand( &fpHeightData[m_iSize*(m_iSize-1)+i],                                   -m_iSize, m_iSize, fFilter );    } 
For ( 단층선 생성 개수만큼 ) 단층선 단계 침식 단계 End
플라즈마프랙탈 ( Plasma Fractal )
C Height = [ -dHeight / 2, +dHeight / 2 ] Per step -- dHeight * 2-r
R == 1  자기 유사성
다이아몬드 단계 E = (A+B+C+D)/4 + random Random = [-dHeight/2, +dHeight/2]
사각형 단계 Per step :dHeight * 2-r
랜덤 높이값= 전체 크기 / 2 지형 계수 R  = 2-r While ( 사각형의 크기 > 0 ) 다이아몬드 단계 사각형 단계 사각형의 크기 /= 2 랜덤 높이값 *= R End
입자 퇴적 프랙탈
칼데라
결 론 ,[object Object],저장 공간 걱정이 사라진다.
부  록
랜덤하게던전 생성하기

Mais conteúdo relacionado

Destaque

NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들Jubok Kim
 
레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성준태 김
 
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011devCAT Studio, NEXON
 
MP2 레벨디자인
MP2 레벨디자인MP2 레벨디자인
MP2 레벨디자인준태 김
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담Sumin Byeon
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 

Destaque (6)

NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
 
레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성
 
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
 
MP2 레벨디자인
MP2 레벨디자인MP2 레벨디자인
MP2 레벨디자인
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 

Mais de 진현 조

[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp진현 조
 
[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기진현 조
 
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로[Gpg2권 조진현] 1.2 인라인 함수 대 매크로
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로진현 조
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑진현 조
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑진현 조
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9진현 조
 
[0319 조진현] 뇌를 자극하는 드라마 & 책
[0319 조진현] 뇌를 자극하는 드라마 & 책[0319 조진현] 뇌를 자극하는 드라마 & 책
[0319 조진현] 뇌를 자극하는 드라마 & 책진현 조
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정진현 조
 
[1218 조진현] 폐차쿠챠 특집 행복한-게임개발자_되기
[1218 조진현] 폐차쿠챠 특집   행복한-게임개발자_되기[1218 조진현] 폐차쿠챠 특집   행복한-게임개발자_되기
[1218 조진현] 폐차쿠챠 특집 행복한-게임개발자_되기진현 조
 
[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러진현 조
 
[1211 조진현][gpg1]플로킹
[1211 조진현][gpg1]플로킹[1211 조진현][gpg1]플로킹
[1211 조진현][gpg1]플로킹진현 조
 
[1106 조진현] if you( batch rendering )
[1106 조진현] if you( batch rendering )[1106 조진현] if you( batch rendering )
[1106 조진현] if you( batch rendering )진현 조
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 

Mais de 진현 조 (13)

[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp
 
[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기
 
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로[Gpg2권 조진현] 1.2 인라인 함수 대 매크로
[Gpg2권 조진현] 1.2 인라인 함수 대 매크로
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9
 
[0319 조진현] 뇌를 자극하는 드라마 & 책
[0319 조진현] 뇌를 자극하는 드라마 & 책[0319 조진현] 뇌를 자극하는 드라마 & 책
[0319 조진현] 뇌를 자극하는 드라마 & 책
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
 
[1218 조진현] 폐차쿠챠 특집 행복한-게임개발자_되기
[1218 조진현] 폐차쿠챠 특집   행복한-게임개발자_되기[1218 조진현] 폐차쿠챠 특집   행복한-게임개발자_되기
[1218 조진현] 폐차쿠챠 특집 행복한-게임개발자_되기
 
[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러
 
[1211 조진현][gpg1]플로킹
[1211 조진현][gpg1]플로킹[1211 조진현][gpg1]플로킹
[1211 조진현][gpg1]플로킹
 
[1106 조진현] if you( batch rendering )
[1106 조진현] if you( batch rendering )[1106 조진현] if you( batch rendering )
[1106 조진현] if you( batch rendering )
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 

[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈