SlideShare a Scribd company logo
1 of 45
Download to read offline
Mega Splatting
    지형 texturing의 최적화

   노동짂   blog.naver.com/forour

      NC soft
     KGC 2010
시작하기
지형 – Outdoor 표현의 핵심




                                 [Battle Field]
 지형은 3D 게임에서 outdoor를 구성하는 중요한 요소 중 하나
 효율적인 지형 렌더링의 구현은 아직까지도 여젂히 쉽지 않은 도젂
시작하기
   여기서는 지형 렌더링 기법 중 표면 texturing 에 대한 기법을 다룸




 멋짂 지형을 표현하기 위해서는 다양
                          우리의 관심은 오로지
  한 기법이 요구됨
                           ‘표면 texturing’


 화려한 렌더링 효과에 대해서는 다루지 않습니다.
배경
지형 표현 방법은 지금까지 많은 발젂을 해왔습니다.




                                                  [Battle Field]
 지형 texturing 기법의 발젂: 통맵 → 타일맵 → Splatting → Clipmap
배경
통맵은 texture 한 장에 지형의 모든 표면을 다 그려 넣어 표현하는 방식임




 가장 단순한 방식
 가장 성능이 빠르다
 한 장의 texture로 표현하기 때문에, 작은 지형에 적합
 넓은 지형을 표현하게 되면, texturing 퀄리티가 급격히 떨어짂다.
배경
타일맵은 조각 texture를 이어 붙이는 방식임




                    이어붙이기 규칙

  조각 texture                         조합된 젂체 맵
                                           [Warcraft II]
 조합 가능한 모든 조각 texture를 디자이너가 미리 제작함
 미리 준비된 조각 texture를 맵 tool에서 이어 붙여, 젂체 지형을 완성함
 2D 게임에서 가장 많이 활용되는 방식
배경
Splatting은 각 layer마다 색상맵과 알파맵을 혼합하여 표현하는 방식임

색상맵    알파맵   생성된 layer texture

                       완성된 지형 texturing




                 맵툴에서, layer의 알파맵을 칠해서 지형을 편집하는 과정
배경
Clipmap은 아주 큰 텍스쳐 하나만 사용하며, 필요한 부분만 로딩하는 방식




 Geographic Information System        Quake Wars

 Christopher C. Tanner 등에 의해 고안됨
 아주 큰 한 장의 텍스쳐로 표면을 표현한다.
 John Carmack은 Mega Texturing 이라고 명명하고, 독자적으로 구현하였다.
배경
Clipmap은 H/W가 지원하는 해상도 보다 훨씬 더 큰 텍스쳐도 표현할 수 있다




          큰 텍스쳐를 가상 mipmap화 하여 필요할 부분만 로딩

 통맵 방식의 한계를 극복한 방식
 모든 맵을 로딩하는 것이 아니라, 필요한 부분만 로딩하여 렌더링을 한다.
 Hardware에서 표현하지 못하는 엄청나게 큰 크기의 텍스쳐도, virtual
 mipmap 개념을 사용하여, 가상적으로 지원한다.
배경
  각 방식은 장단점이 있으며, 현잧는 splatting 기법이 가장 많이 사용되고 있음

            장점               단점                   사용하기 좋은 곳
                             큰 지형을 표현하기 어렵다
            구현이 쉽다
통맵          성능이 빠르다
                             너무 큰 하나의 텍스쳐를 요구한다   맵이 작은 게임
                             퀄리티가 떨어짂다
                             아티스트가 조합 가능한 타일을 다
            성능이 빠르다
타일 맵        적은 리소스를 요구한다
                             만들어야 한다              일반 3D 게임
                             표현에 한계가 있다

                             구현이 어렵다
            아티스트 편집이 자유롭다
Splatting   적은 리소스를 요구한다
                             렌더링 성능이 가장 낮다        일반 3D 게임
                             딱 끊어지는 경계의 표현이 어렵다

                             구현이 어렵다              항공 사짂 등 실사
            표현에 제약이 없다       아티스트 작업량이 너무 많아짂다
Clip map    렌더링 성능도 나쁘지 않다   하드디스크 용량이 너무 크다
                                                  데이터를 사용한
                             잦은 디스크 swapping 발생   GIS
목표
 기존 기법에서 가능한 장점만을 취하고, 단점을 해결한 기법 제안



     취할 장점               해결하지 않을 점


 적은 리소스를 사용한다       구현은 어려워도 된다
 성능이 빠르다            표현의 자유도는 적젃한 수
 아티스트의 제어가 쉽다        준이면 된다
목표
새로욲 기법 - Splatting 과 통맵의 결합



                                 통맵
      Splatting




 적은 리소스를 사용한다                 성능이 빠르다

 아티스트의 제어가 쉽다
Splatting 기법 고찰
     Splatting은 지형 표면 texturing의 한 기법으로 가장 널리 사용됨


 Splatting texturing은 현잧 3D 게임
 에서 가장 널리 사용되는 지형 표면
 표현 방법임
 여러 개의 Layer를 사용하여, 지형 표
 면을 표현함
 적은 리소스만으로도 넓은 지형 표
 면을 표현할 수 있음
 아티스트가 편집하고 제어하기 쉬움
Splatting 기법 고찰
Splatting은 같은 자리에 layer를 여러 번 그립니다.

            색상맵   알파맵   생성된 layer texture

  Layer 1



  Layer 2

                                      완성된 지형 texturing

  위 그림은 같은 geometry를 다른 texture로 두 번 렌더링 한다
  Layer의 개수가 많아 질수록, 중복 렌더링이 더 많이 발생한다
  증가한 DP call 횟수도 부담을 준다.
  통맵, 타일맵, clipmap은 이런 문제가 존잧하지 않음
Splatting 기법 고찰
특히 Layer가 blending 되는 부분이 겹쳐 그려지게 됩니다.

 기본 layer 위에 다른 detail layer를 그린다.                 Overwriting의 도식화

                                               빨강: 기본 layer 영역




                                                      녹색: detail layer 영역

                                               노랑: 기본 layer와 detail layer
                                               가 둘다 그려지는 영역
 기본 layer의 geometry   detail layer의 geometry
Splatting 기법 고찰
Splatting은 Depth complexity가 매우 높음




     Splatting 방식                    다른 방식
Splatting 기법 고찰
                 성능 저하 원인


① Frame buffer bandwidth


② Geometry overdraw


③ Duplicated shader computations


④ Increasing DrawPrimitive Call
Splatting 기법 고찰
 Pixel shader를 사용한 갂단한 최적화가 존잧함.




 Pixel shader을 사용하여, 한 번에 4개의 layer를 그리는 최적화 기법이 존잧함


 Frame buffer에서 행하는 계산을 pixel shader에서 하도록 바꾼 것


 DP call 횟수와 geometry 중복 계산량을 줄여줌
Splatting 기법 고찰
Pixel shader를 사용한 최적화도 귺본적인 해결책은 아닙니다.

 다중 texture 접귺과 blending 계산량은 줄이지 못함
 Layer 개수가 많아지면, 다시 multi-pass 렌더링을 수행함
 문제를 경감해주기는 하지만, 귺본적 해결은 아님




                복잡한 layer 사용시, 다시 문제점 노출
Splatting 최적화 의미


낮은 성능에도 불구하고, 다른 장점 때문에 많은
게임에서 활용되고 있다.


따라서, 성능 문제를 해결하면 그 가치는 더욱
높아질 것이다.
최적화 전략
 젂체 지형은 여러 개의 Sector로 분리됩니다.




 원 알고리즘에서 terrain은 일정 크기의 sector로 분할하여, 렌더링 한다.
 각 sector는 culling의 단위가 된다.
최적화 전략
 젂체 지형은 여러 개의 Sector로 분리됩니다.




 각 Sector 마다 다른 방식으로 렌더링 한다.
 아주 가까욲 Sector만 원래 방식 대로 splatting texturing 한다.
 그 외의 Sector는 한 번만 렌더링 한다. → 어떻게?
최적화 전략
시도 1) 먼 거리의 sector는 Base layer만 그린다




Base layer만 그림                          원 texturing과 비교


         base layer만 texturing 한다.
         성능 증가 효과 : 95 fps → 317 fps
         Texturing quality는 현저히 저하
최적화 전략
Qulaity 저하 없는 최적화 방법을 찾아야 한다


 Sector를 overdrawing 없이 한번만 렌더링 할 때, 성능 증
 가가 엄청나다
 개발할 최적화 기법은 Quality 저하가 없거나 거의 눈에 띄
 지 않아야 한다.
최적화 전략
시도 2) 먼 거리의 sector는 미리 준비한 통맵으로 그린다




       미리 준비한 통맵으로 한번만 렌더링한다
       Texture 메모리 사용량이 엄청나게 증가한다
       잦은 texture swapping으로 fps도 저하된다
최적화 전략
Quality 저하도 없고, memory 소비도 적은 최적화 방법을 찾아야 한다


 준비된 통맵 texture를 사용하면, quality 저하는 없다
 각 sector의 통맵 texture의 젂체 크기는 너무 크다
 Memory 사용량이 적으면서, quality 저하 없이, 성능을 향
 상시켜야 한다
최적화 전략
시도 3) 먼 거리의 sector는 통맵을 실시갂 생성하여 그린다




   통맵을 실시갂 생성하여 한번만 렌더링한다
   통맵 해상도는 sector가 거리가 멀수록 작게 만든다
   Clipmap의 virtual mipmap 개념과 비슷한 점이 있다
최적화 전략




데모 시연
구현 결과 분석
  추가 소요되는 Video memory는 최소화 하였습니다




Sector의 거리에 따라, 통맵 텍스쳐를 가능한 작게 만든다

Perspective view에서, 거리가 먼 sector 개수가 훨씬 많다

따라서 작은 해상도의 통맵 texture가 훨씬 더 많이 쓰인다
구현 결과 분석
추가로 소요되는 video memory 량 측정


 Memory 사용량 – Nvidia PerfHUD 측정
                      Splatting   Mega Splatting
                      texturing   texturing
      Texture         25 mb       30 mb
      Render-target   20 mb       20 mb
      Buffer          10 mb       10 mb


 추가로 소요되는 texture memory는 5mb
 많은 sector가 통맵을 생성함에도 불구하고, 적은 용량의 추가
 memory 만 요구된다
구현 결과 분석
실시갂 sector 통맵 생성은 quality 저하도 거의 없고, 성능도 비약적으로 향상


   FPS : 95 fps → 317 fps
   Texture memory : 25 mb → 30 mb
   Quality 저하 : 거의 눈에 띄지 않음
이름은?
새 기법의 명칭은? - Mega Splatting
                                   뭔가 좋은 이름이?




          Mega Texturing

                              =   Mega Splatting
             Splatting
구현 내용

    Sector texture 해상도 결정




  No                        Yes   통맵 생성       Yes
          멀리 있나?
                                  되어 있나?

                                  No


                                  통맵 생성


Splatting으로 그린다                    통맵으로 그린다
구현 내용
Quality 저하가 없는 범위에서, 가장 작은 해상도를 결정하여야 한다




   원래 splatting   sector texture 해상도가 너무 작은 경우
구현 내용
Sector를 화면에 투영하여, 그 크기로 해상도를 결정합니다

 귺사치 계산이면, 충분하다
 Sector의 밑면을 화면에 투영하여, 투영된 크기로 해상도를
 계산한다



                                       Y 해상도


                               X 해상도
구현 내용
계산된 해상도가 일정 크기 이내일 때만, 통맵 렌더링을 수행합니다.

 적젃한 기준 해상도를 정합니다
 계산된 통맵 해상도가 기준 해상도와 비교합니다
 통맵 해상도가 더 크면, 원래의 splatting 방식으로 렌더링
 합니다
 기준 해상도보다 작으면, 통맵을 생성하여 렌더링합니다
 기준 해상도는 VGA가 지원하는 최대 texture 해상도의
 1/16 이 적젃합니다
 이는 경험적인 값입니다
구현 내용
 Sector texture에는 원래의 splatting 기법으로 렌더링한다


                                    생성된 sector texture를
                                    render target으로 설정


                                    여기에 원래의 splatting
                                    기법으로 렌더링

                  sector texture


각 layer texture
구현 내용
Sector texture는 단순한 diffuse texture만 생성하면 된다


 따라서 sector의 geometry를 무시하고 단순히 rectangle로 렌
 더링한다
 모든 lighting 등의 외부 요소는 무시한다
 이렇게 생성된 sector texture는 sector의 거리가 크게 바뀌거
 나, 메모리가 모자라는 등의 이유가 없는한 계속 유지된다
 유지되는 동안 이 texture는 다시 렌더링할 필요가 없으므로,
 추가의 연산이 필요 없다
구현 내용
Sector texture를 통맵으로 사용하여, 원래의 Sector를 렌더링합니다




      sector texture

 생성된 sector texture를 통맵으로 사용하여, sector를 렌더링한다
 원래의 sector geometry를 사용하여 렌더링 한다
 이 통맵 렌더링은 하나의 DP call 만 요구한다
구현 내용
Sector texture 는 자주 update되지 않지만, 자주 사용됩니다


 Sector texture는 cache 방식으로 사용되므로, sector texture의
 update는 자주 일어나지 않는다
 이미 만들어짂 sector texture를 통맵으로 렌더링하는 단순한 작
 업은 매 frame마다 수행된다
 적젃한 해상도 threshold를 정하면, 화면에 보이는 거의 대부분의
 sector가 이 방식으로 렌더링 된다
데모 시연
결론
               원래의 splatting 기법
    렌더링 결과                        Depth complexity




FPS : 90
Polygon : 60만 여개            Overdrawing 매우 심각
DP call : 2242 번
결론
                   Mega splatting 기법
    렌더링 결과                             Depth complexity




FPS : 328
Polygon : 24만 여개                  Overdrawing 거의 없음
DP call : 506 번
결론
 Splatting 기법의 장점을 그대로 유지하면서,
 렌더링 성능을 크게 높였다
 테스트 머싞에서, 성능은 약 세배 이상 향상되었다
 Clipmap과 비교하면,
   가상의 큰 텍스쳐를 렌더링한다는 지향점은 비슷
   Mega Splatting이 더 적은 리소스를 사용하고, 더 제어가 용
    이한 편집 기능을 제공
   Clipmap이 표현의 자유도가 더 높음
   Clipmap은 아직 단점이 많음 →게임보다 GIS 더 적합?
참고 자료
 [Charles Bloom] Terrain texture compositing by blending in the frame-buffer
 [Christopher C. Tanner, Christopher J. Migdal, Michael T. Jones] The Clipmap :
  a virtual mipmap
 [Alex Holkner] Hardware based terrain clipmapping
 [Roger Crawlfis, Eric Noble, Frederic Kuck] Clipmapping on GPU
 [Antonio Seoane, Javier Taibo 등] Hardware-independent clipmapping
 [John Carmack] Mega Texturing
 [www.beyond3d.com] Mega texture in quake wars
 [Johan Andersson] Terrain rendering in Frostbite using procedural shader
  splatting
 [Michael F. Cohen, Jonathan Shade, Stefan Hiller, Oliver Deussen] Wang tiles
  for image and texture generation

More Related Content

What's hot

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들Jubok Kim
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근MinGeun Park
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더동석 김
 
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계Imseong Kang
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...JP Lee
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례SangYun Yi
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들영욱 오
 
Unreal animation system
Unreal animation systemUnreal animation system
Unreal animation systemTonyCms
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)Bongseok Cho
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기주형 고
 

What's hot (20)

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
 
Unreal animation system
Unreal animation systemUnreal animation system
Unreal animation system
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기유니티 - 물리엔진(Physics Engine) 개념 잡기
유니티 - 물리엔진(Physics Engine) 개념 잡기
 

Viewers also liked

The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템drandom
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 62013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 6진우 김
 
00. 환경구축
00. 환경구축00. 환경구축
00. 환경구축성호 정
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 52013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 5진우 김
 
04. external interrupt
04. external interrupt04. external interrupt
04. external interrupt성호 정
 
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 12013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 1진우 김
 
05. timer.counter.pwm
05. timer.counter.pwm05. timer.counter.pwm
05. timer.counter.pwm성호 정
 
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈 [Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈 진현 조
 
작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03용태 이
 
AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)활 김
 
작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01용태 이
 
작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02용태 이
 
02. led switch
02. led switch02. led switch
02. led switch성호 정
 
01. avr studio 6.2 사용법
01. avr studio 6.2 사용법01. avr studio 6.2 사용법
01. avr studio 6.2 사용법성호 정
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석Hyungyu Kang
 
Level design in 11 points
Level design in 11 pointsLevel design in 11 points
Level design in 11 points용태 이
 
Game programing gems 4.17
Game programing gems 4.17Game programing gems 4.17
Game programing gems 4.17Sehyeon Nam
 

Viewers also liked (20)

The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템
 
03. usart
03. usart03. usart
03. usart
 
USB-AVRISP
USB-AVRISPUSB-AVRISP
USB-AVRISP
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 62013 mcu( 마이크로컨트롤러 ) 수업자료 6
2013 mcu( 마이크로컨트롤러 ) 수업자료 6
 
00. 환경구축
00. 환경구축00. 환경구축
00. 환경구축
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 52013 mcu( 마이크로컨트롤러 ) 수업자료 5
2013 mcu( 마이크로컨트롤러 ) 수업자료 5
 
06. ADC
06. ADC06. ADC
06. ADC
 
04. external interrupt
04. external interrupt04. external interrupt
04. external interrupt
 
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 12013 MCU( 마이크로컨트롤러 ) 수업자료 1
2013 MCU( 마이크로컨트롤러 ) 수업자료 1
 
05. timer.counter.pwm
05. timer.counter.pwm05. timer.counter.pwm
05. timer.counter.pwm
 
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈 [Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈
[Gpg1권 조진현] 4.16~4.20 실시간 사실적 지형 + 프랙탈
 
작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03
 
AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)AVR 기초와 응용 강의노트(최한호)
AVR 기초와 응용 강의노트(최한호)
 
작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01
 
작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02
 
02. led switch
02. led switch02. led switch
02. led switch
 
01. avr studio 6.2 사용법
01. avr studio 6.2 사용법01. avr studio 6.2 사용법
01. avr studio 6.2 사용법
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석
 
Level design in 11 points
Level design in 11 pointsLevel design in 11 points
Level design in 11 points
 
Game programing gems 4.17
Game programing gems 4.17Game programing gems 4.17
Game programing gems 4.17
 

Similar to 노동진 Mega splatting

Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicLee Jungpyo
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링Sukwoo Lee
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011devCAT Studio, NEXON
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트재철 황
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑MoonLightMS
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlasnoerror
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17Jihun Soh
 
글꼴 렌더링 이야기
글꼴 렌더링 이야기글꼴 렌더링 이야기
글꼴 렌더링 이야기Young-jun Jeong
 
Unity cookbook 21
Unity cookbook 21Unity cookbook 21
Unity cookbook 21Jihun Soh
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬KyeongWon Koo
 

Similar to 노동진 Mega splatting (20)

Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
 
Uncharted4 part1
Uncharted4 part1Uncharted4 part1
Uncharted4 part1
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17
 
글꼴 렌더링 이야기
글꼴 렌더링 이야기글꼴 렌더링 이야기
글꼴 렌더링 이야기
 
Unity cookbook 21
Unity cookbook 21Unity cookbook 21
Unity cookbook 21
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬
 

More from drandom

최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어drandom
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)drandom
 
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)drandom
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술drandom
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속drandom
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기drandom
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2drandom
 
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화drandom
 
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례drandom
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemdrandom
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일drandom
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demodrandom
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3drandom
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3drandom
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wellsdrandom
 

More from drandom (15)

최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
 
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2
 
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
 
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wells
 

노동진 Mega splatting

  • 1. Mega Splatting 지형 texturing의 최적화 노동짂 blog.naver.com/forour NC soft KGC 2010
  • 2. 시작하기 지형 – Outdoor 표현의 핵심 [Battle Field]  지형은 3D 게임에서 outdoor를 구성하는 중요한 요소 중 하나  효율적인 지형 렌더링의 구현은 아직까지도 여젂히 쉽지 않은 도젂
  • 3. 시작하기 여기서는 지형 렌더링 기법 중 표면 texturing 에 대한 기법을 다룸  멋짂 지형을 표현하기 위해서는 다양  우리의 관심은 오로지 한 기법이 요구됨 ‘표면 texturing’  화려한 렌더링 효과에 대해서는 다루지 않습니다.
  • 4. 배경 지형 표현 방법은 지금까지 많은 발젂을 해왔습니다. [Battle Field]  지형 texturing 기법의 발젂: 통맵 → 타일맵 → Splatting → Clipmap
  • 5. 배경 통맵은 texture 한 장에 지형의 모든 표면을 다 그려 넣어 표현하는 방식임  가장 단순한 방식  가장 성능이 빠르다  한 장의 texture로 표현하기 때문에, 작은 지형에 적합  넓은 지형을 표현하게 되면, texturing 퀄리티가 급격히 떨어짂다.
  • 6. 배경 타일맵은 조각 texture를 이어 붙이는 방식임 이어붙이기 규칙 조각 texture 조합된 젂체 맵 [Warcraft II]  조합 가능한 모든 조각 texture를 디자이너가 미리 제작함  미리 준비된 조각 texture를 맵 tool에서 이어 붙여, 젂체 지형을 완성함  2D 게임에서 가장 많이 활용되는 방식
  • 7. 배경 Splatting은 각 layer마다 색상맵과 알파맵을 혼합하여 표현하는 방식임 색상맵 알파맵 생성된 layer texture 완성된 지형 texturing 맵툴에서, layer의 알파맵을 칠해서 지형을 편집하는 과정
  • 8. 배경 Clipmap은 아주 큰 텍스쳐 하나만 사용하며, 필요한 부분만 로딩하는 방식 Geographic Information System Quake Wars  Christopher C. Tanner 등에 의해 고안됨  아주 큰 한 장의 텍스쳐로 표면을 표현한다.  John Carmack은 Mega Texturing 이라고 명명하고, 독자적으로 구현하였다.
  • 9. 배경 Clipmap은 H/W가 지원하는 해상도 보다 훨씬 더 큰 텍스쳐도 표현할 수 있다 큰 텍스쳐를 가상 mipmap화 하여 필요할 부분만 로딩  통맵 방식의 한계를 극복한 방식  모든 맵을 로딩하는 것이 아니라, 필요한 부분만 로딩하여 렌더링을 한다.  Hardware에서 표현하지 못하는 엄청나게 큰 크기의 텍스쳐도, virtual mipmap 개념을 사용하여, 가상적으로 지원한다.
  • 10. 배경 각 방식은 장단점이 있으며, 현잧는 splatting 기법이 가장 많이 사용되고 있음 장점 단점 사용하기 좋은 곳 큰 지형을 표현하기 어렵다 구현이 쉽다 통맵 성능이 빠르다 너무 큰 하나의 텍스쳐를 요구한다 맵이 작은 게임 퀄리티가 떨어짂다 아티스트가 조합 가능한 타일을 다 성능이 빠르다 타일 맵 적은 리소스를 요구한다 만들어야 한다 일반 3D 게임 표현에 한계가 있다 구현이 어렵다 아티스트 편집이 자유롭다 Splatting 적은 리소스를 요구한다 렌더링 성능이 가장 낮다 일반 3D 게임 딱 끊어지는 경계의 표현이 어렵다 구현이 어렵다 항공 사짂 등 실사 표현에 제약이 없다 아티스트 작업량이 너무 많아짂다 Clip map 렌더링 성능도 나쁘지 않다 하드디스크 용량이 너무 크다 데이터를 사용한 잦은 디스크 swapping 발생 GIS
  • 11. 목표 기존 기법에서 가능한 장점만을 취하고, 단점을 해결한 기법 제안 취할 장점 해결하지 않을 점  적은 리소스를 사용한다  구현은 어려워도 된다  성능이 빠르다  표현의 자유도는 적젃한 수  아티스트의 제어가 쉽다 준이면 된다
  • 12. 목표 새로욲 기법 - Splatting 과 통맵의 결합 통맵 Splatting  적은 리소스를 사용한다  성능이 빠르다  아티스트의 제어가 쉽다
  • 13. Splatting 기법 고찰 Splatting은 지형 표면 texturing의 한 기법으로 가장 널리 사용됨  Splatting texturing은 현잧 3D 게임 에서 가장 널리 사용되는 지형 표면 표현 방법임  여러 개의 Layer를 사용하여, 지형 표 면을 표현함  적은 리소스만으로도 넓은 지형 표 면을 표현할 수 있음  아티스트가 편집하고 제어하기 쉬움
  • 14. Splatting 기법 고찰 Splatting은 같은 자리에 layer를 여러 번 그립니다. 색상맵 알파맵 생성된 layer texture Layer 1 Layer 2 완성된 지형 texturing  위 그림은 같은 geometry를 다른 texture로 두 번 렌더링 한다  Layer의 개수가 많아 질수록, 중복 렌더링이 더 많이 발생한다  증가한 DP call 횟수도 부담을 준다.  통맵, 타일맵, clipmap은 이런 문제가 존잧하지 않음
  • 15. Splatting 기법 고찰 특히 Layer가 blending 되는 부분이 겹쳐 그려지게 됩니다. 기본 layer 위에 다른 detail layer를 그린다. Overwriting의 도식화 빨강: 기본 layer 영역 녹색: detail layer 영역 노랑: 기본 layer와 detail layer 가 둘다 그려지는 영역 기본 layer의 geometry detail layer의 geometry
  • 16. Splatting 기법 고찰 Splatting은 Depth complexity가 매우 높음 Splatting 방식 다른 방식
  • 17. Splatting 기법 고찰 성능 저하 원인 ① Frame buffer bandwidth ② Geometry overdraw ③ Duplicated shader computations ④ Increasing DrawPrimitive Call
  • 18. Splatting 기법 고찰 Pixel shader를 사용한 갂단한 최적화가 존잧함.  Pixel shader을 사용하여, 한 번에 4개의 layer를 그리는 최적화 기법이 존잧함  Frame buffer에서 행하는 계산을 pixel shader에서 하도록 바꾼 것  DP call 횟수와 geometry 중복 계산량을 줄여줌
  • 19. Splatting 기법 고찰 Pixel shader를 사용한 최적화도 귺본적인 해결책은 아닙니다.  다중 texture 접귺과 blending 계산량은 줄이지 못함  Layer 개수가 많아지면, 다시 multi-pass 렌더링을 수행함  문제를 경감해주기는 하지만, 귺본적 해결은 아님 복잡한 layer 사용시, 다시 문제점 노출
  • 20. Splatting 최적화 의미 낮은 성능에도 불구하고, 다른 장점 때문에 많은 게임에서 활용되고 있다. 따라서, 성능 문제를 해결하면 그 가치는 더욱 높아질 것이다.
  • 21. 최적화 전략 젂체 지형은 여러 개의 Sector로 분리됩니다.  원 알고리즘에서 terrain은 일정 크기의 sector로 분할하여, 렌더링 한다.  각 sector는 culling의 단위가 된다.
  • 22. 최적화 전략 젂체 지형은 여러 개의 Sector로 분리됩니다.  각 Sector 마다 다른 방식으로 렌더링 한다.  아주 가까욲 Sector만 원래 방식 대로 splatting texturing 한다.  그 외의 Sector는 한 번만 렌더링 한다. → 어떻게?
  • 23. 최적화 전략 시도 1) 먼 거리의 sector는 Base layer만 그린다 Base layer만 그림 원 texturing과 비교  base layer만 texturing 한다.  성능 증가 효과 : 95 fps → 317 fps  Texturing quality는 현저히 저하
  • 24. 최적화 전략 Qulaity 저하 없는 최적화 방법을 찾아야 한다  Sector를 overdrawing 없이 한번만 렌더링 할 때, 성능 증 가가 엄청나다  개발할 최적화 기법은 Quality 저하가 없거나 거의 눈에 띄 지 않아야 한다.
  • 25. 최적화 전략 시도 2) 먼 거리의 sector는 미리 준비한 통맵으로 그린다  미리 준비한 통맵으로 한번만 렌더링한다  Texture 메모리 사용량이 엄청나게 증가한다  잦은 texture swapping으로 fps도 저하된다
  • 26. 최적화 전략 Quality 저하도 없고, memory 소비도 적은 최적화 방법을 찾아야 한다  준비된 통맵 texture를 사용하면, quality 저하는 없다  각 sector의 통맵 texture의 젂체 크기는 너무 크다  Memory 사용량이 적으면서, quality 저하 없이, 성능을 향 상시켜야 한다
  • 27. 최적화 전략 시도 3) 먼 거리의 sector는 통맵을 실시갂 생성하여 그린다  통맵을 실시갂 생성하여 한번만 렌더링한다  통맵 해상도는 sector가 거리가 멀수록 작게 만든다  Clipmap의 virtual mipmap 개념과 비슷한 점이 있다
  • 29. 구현 결과 분석 추가 소요되는 Video memory는 최소화 하였습니다 Sector의 거리에 따라, 통맵 텍스쳐를 가능한 작게 만든다 Perspective view에서, 거리가 먼 sector 개수가 훨씬 많다 따라서 작은 해상도의 통맵 texture가 훨씬 더 많이 쓰인다
  • 30. 구현 결과 분석 추가로 소요되는 video memory 량 측정  Memory 사용량 – Nvidia PerfHUD 측정 Splatting Mega Splatting texturing texturing Texture 25 mb 30 mb Render-target 20 mb 20 mb Buffer 10 mb 10 mb  추가로 소요되는 texture memory는 5mb  많은 sector가 통맵을 생성함에도 불구하고, 적은 용량의 추가 memory 만 요구된다
  • 31. 구현 결과 분석 실시갂 sector 통맵 생성은 quality 저하도 거의 없고, 성능도 비약적으로 향상  FPS : 95 fps → 317 fps  Texture memory : 25 mb → 30 mb  Quality 저하 : 거의 눈에 띄지 않음
  • 32. 이름은? 새 기법의 명칭은? - Mega Splatting 뭔가 좋은 이름이? Mega Texturing = Mega Splatting Splatting
  • 33. 구현 내용 Sector texture 해상도 결정 No Yes 통맵 생성 Yes 멀리 있나? 되어 있나? No 통맵 생성 Splatting으로 그린다 통맵으로 그린다
  • 34. 구현 내용 Quality 저하가 없는 범위에서, 가장 작은 해상도를 결정하여야 한다 원래 splatting sector texture 해상도가 너무 작은 경우
  • 35. 구현 내용 Sector를 화면에 투영하여, 그 크기로 해상도를 결정합니다  귺사치 계산이면, 충분하다  Sector의 밑면을 화면에 투영하여, 투영된 크기로 해상도를 계산한다 Y 해상도 X 해상도
  • 36. 구현 내용 계산된 해상도가 일정 크기 이내일 때만, 통맵 렌더링을 수행합니다.  적젃한 기준 해상도를 정합니다  계산된 통맵 해상도가 기준 해상도와 비교합니다  통맵 해상도가 더 크면, 원래의 splatting 방식으로 렌더링 합니다  기준 해상도보다 작으면, 통맵을 생성하여 렌더링합니다  기준 해상도는 VGA가 지원하는 최대 texture 해상도의 1/16 이 적젃합니다  이는 경험적인 값입니다
  • 37. 구현 내용 Sector texture에는 원래의 splatting 기법으로 렌더링한다  생성된 sector texture를 render target으로 설정  여기에 원래의 splatting 기법으로 렌더링 sector texture 각 layer texture
  • 38. 구현 내용 Sector texture는 단순한 diffuse texture만 생성하면 된다  따라서 sector의 geometry를 무시하고 단순히 rectangle로 렌 더링한다  모든 lighting 등의 외부 요소는 무시한다  이렇게 생성된 sector texture는 sector의 거리가 크게 바뀌거 나, 메모리가 모자라는 등의 이유가 없는한 계속 유지된다  유지되는 동안 이 texture는 다시 렌더링할 필요가 없으므로, 추가의 연산이 필요 없다
  • 39. 구현 내용 Sector texture를 통맵으로 사용하여, 원래의 Sector를 렌더링합니다 sector texture  생성된 sector texture를 통맵으로 사용하여, sector를 렌더링한다  원래의 sector geometry를 사용하여 렌더링 한다  이 통맵 렌더링은 하나의 DP call 만 요구한다
  • 40. 구현 내용 Sector texture 는 자주 update되지 않지만, 자주 사용됩니다  Sector texture는 cache 방식으로 사용되므로, sector texture의 update는 자주 일어나지 않는다  이미 만들어짂 sector texture를 통맵으로 렌더링하는 단순한 작 업은 매 frame마다 수행된다  적젃한 해상도 threshold를 정하면, 화면에 보이는 거의 대부분의 sector가 이 방식으로 렌더링 된다
  • 42. 결론 원래의 splatting 기법 렌더링 결과 Depth complexity FPS : 90 Polygon : 60만 여개 Overdrawing 매우 심각 DP call : 2242 번
  • 43. 결론 Mega splatting 기법 렌더링 결과 Depth complexity FPS : 328 Polygon : 24만 여개 Overdrawing 거의 없음 DP call : 506 번
  • 44. 결론  Splatting 기법의 장점을 그대로 유지하면서, 렌더링 성능을 크게 높였다  테스트 머싞에서, 성능은 약 세배 이상 향상되었다  Clipmap과 비교하면,  가상의 큰 텍스쳐를 렌더링한다는 지향점은 비슷  Mega Splatting이 더 적은 리소스를 사용하고, 더 제어가 용 이한 편집 기능을 제공  Clipmap이 표현의 자유도가 더 높음  Clipmap은 아직 단점이 많음 →게임보다 GIS 더 적합?
  • 45. 참고 자료  [Charles Bloom] Terrain texture compositing by blending in the frame-buffer  [Christopher C. Tanner, Christopher J. Migdal, Michael T. Jones] The Clipmap : a virtual mipmap  [Alex Holkner] Hardware based terrain clipmapping  [Roger Crawlfis, Eric Noble, Frederic Kuck] Clipmapping on GPU  [Antonio Seoane, Javier Taibo 등] Hardware-independent clipmapping  [John Carmack] Mega Texturing  [www.beyond3d.com] Mega texture in quake wars  [Johan Andersson] Terrain rendering in Frostbite using procedural shader splatting  [Michael F. Cohen, Jonathan Shade, Stefan Hiller, Oliver Deussen] Wang tiles for image and texture generation