SlideShare a Scribd company logo
1 of 60
The Terrain of




          Angel Cunado
          Lead Engine Programmer
Kingdom Under Fire II
MMO
3rd Person Action
Real Time Strategy




MMOARTS
Kingdom Under Fire II
Terrain requirements
  3rd person camera (close view, high detail)
  RTS camera (large, instant displacements)
  Large continuous world (streaming)
  Direct3D 9 class HW with ps3
Agenda
Geometry
Texturing
Storage, Streaming and Synthesis (overview)
Terrain Geometry
Terrain Geometry
Terrain Geometry
Height map based
8Km x 8Km terrain patch around the camera
Geometry resolution down to 12.5cm
Brute force rendering → 8,589,934,592 tri.
Terrain Geometry
It's all about finding the right LOD technique
We use “Geometry Clipmaps”
  “Geometry clipmaps: Terrain rendering using nested
  regular grids.” Siggraph 2004, F. Losasso, H.
  Hoppe
  “Terrain rendering using GPU base geometry
  clipmaps.” 2005, A. Asirvathan, H. Hoppe, GPU
  Gems 2
Geometry Clipmaps
Nested regular grids
  (2n-2)2 quads each
Roughly centered around
the camera
Grid meshes must be
progressively updated as
the camera moves
Geometry Clipmaps
Geometry Clipmaps
KUFII World Terrain
  n = 8, 254x254 quads, 129.032 triangles each
  clipmap
  8 Geometry clipmaps
   –   From 32m x 32m with 12.5cm resolution
   –   To 4km x 4km with 16m resolution
  Total: 774.192 triangles
Frustum Culling
Split each clipmap
into 12 nearly square
patches
4 different index
buffers
  2n-2-1 x 2n-2-1,
  2n-2-1 x 2n-2
  2n-2 x 2n-2-1
  2n-2 x 2n-2
Frustum Culling
8x12 = 96 BBoxes to
test
~8 x 4→32 draw calls
~200K visible triangles
Geometry Clipmaps
Geomorphing needed to avoid gaps between
consecutive clipmaps.

Geometry Clipmap update
  This is the tricky part...
  Store vertex elevations in a texture
  Incremental texture updates as the camera moves
  Please check the reference docs for details...
Normal Map
Normal Clipmap
Normals stored in
texture clipmaps
Generated at
runtime from
elevation data.
8 LODs
8192m x 8192m
1024 x 1024 texels
3cm details
Normal clipmap
Stored in a volume texture.
One clipmap LOD → one
volume slice
PS calculates the right slice
and UVs
  Based in distance to camera
  and derivatives
Compressed to DXT5
Texturing
Texturing
This a 20km x 20km
section of KUFII
terrain.
Texture details down
to ~3mm
Equivalent to
         2
6,000,000 texels.
Texture Splatting
Classical terrain texturing method
Combine 2 repeating tiles using a lower
resolution blend map.
Use multipass render
..or multitexturing.
                                     x
Texture Splatting
4096 x 4096 blend map for a 20Km x 20Km
results in ~5x5m per texel.
KUFII art team wanted ~0.1x0.1m per texel
Texture Splatting
4096 x 4096 blend map for a 20Km x 20Km
results in ~5x5m per texel.
KUFII art team wanted ~0.1x0.1m
Easy... just use a texture clipmap for the blend
map!
Blend Clipmap
Texture Splatting
What if we want to use 64
different tiles?
We need 63 blend
channels...
16 passes with 4 texture
tiles each?!
Texture Splatting
What if we want our tiles
to also support bump
mapping?
Too many passes, too
many texture fetches.
Conventional solution
Split the terrain into smaller sections that use a
reasonable number of tiles.
Conventional solution
Tradeoff between number of sections and
number of tiles in each section
Terrain artists need to be careful to disguise the
seams between adjacent sections
Conventional solution
Tradeoff between number of sections and
number of tiles in each section
Terrain artists need to be careful to disguise the
seams between adjacent sections
And most important: Geometry Clipmaps treat
terrain as it was continuous!!!
  No easy way to divide in sections using independent
  draw calls each.
Texture Splatting Revisited
   Splatting with up to 256 tiles!
What if we consider each texel in the blend
clipmap as a separate terrain section using up
to 2 tiles?
  Reminder: One blend texel in KUFII → ~10x10cm.
Texture Splatting Revisited
   Splatting with up to 256 tiles!
What if we consider each texel in the blend
clipmap as a separate terrain section using up
to 2 tiles?
  Reminder: One blend texel in KUFII → ~10x10cm.
Assign an index to each tile
Store 2 indices and one alpha value per texel of
the blend clipmap
Pack all the tiles in a texture Atlas.
Splatting with 2 indexed color tiles...


                 ID1
                 ID2
                  f




                  x
...and 1 bump tile.


       ID1
       ID2
        f




       +
Texture Splatting Revisited
A total 6 texture fetches required:
  Blend ClipMap: 1
  Normal ClipMap: 2
  Color Atlas: 2
  Bump Atlas: 1
Blend Clipmap Format
The tile with the highest weight goes in ID1
  Bump map uses only ID1
  Blend weight range is 0.5 to 1.0
Two possible formats
  5551 RGBA => 32 tiles and 64 blend steps
  8888 RGBA => 256 tiles and 512 blend steps
If weight == 0 then make ID2 = ID1 to optimize
texture bandwidth
Blend Map Filtering
Blend Map Filtering
Problem: HW texture filtering makes no sense.
We need to filter in the PS
  Fetch the Blend clipmap 4 times
  Fetch the Color Atlas 2 x 4 = 8 times
  Fetch the Bump Atlas 4 times
  Do bi-linear filtering by interpolating in the PS
Blend Map Filtering
Layer Map Filtering
18 texture fetches needed!
So how expensive is it?...
Layer Map Filtering
18 texture fetches needed!
So how expensive is it?...
…not that much actually
  Blend Map fetches are always 4 neighboring texels
  Atlas fetches usually end up sampling the same tile
  (and UV coords) several times
  E.g. The 8 color fetches very rarely correspond to
  more than 2 or 3 actual different tiles.
~ 25% perf. decrease compared to the non-
filtered version.
PS Dynamic Flow Control
PS Dynamic Flow Control
There are big areas in the Blend Map where
ID0 and ID1 don't change across several texels.
  Green areas in the previous slide.
In those areas HW bi-linear filter works just fine.
Use dynamic flow control to skip PS bi-linear
filter.
Pre-compute the condition expression and store
it in the blend map alpha channel.
Texture Memory Requirements
888RGBX Blend Clipmap: 24 MB
  6 slices x 1024x1024
  Covering 128m to 4096m
  Closest clipmap texel size = 12.5cm
DXT5 Normal Clipmap: 8MB
  8 slices x 1024x1024
  Covering 32m to 4096m
  Closest clipmap texel size = 3.125cm
Total: 32MB
Low Quality Settings
 Texture Memory Requirements
888RGBX Blend Clipmap: 7 MB
  7 slices x 512x512
  Covering 64m to 4096m
  Closest clipmap texel size = 12.5cm
DXT5 Normal Clipmap: 2.25MB
  9 slices x 512x512
  Covering 16m to 4096m
  Closest clipmap texel size = 3.125cm
Total: 9.25MB
Low Quality Settings
Low Quality vs High Quality Settings
Texturing Terrain Slopes
Textures are mapped to the terrain by a planar
projection along the Y axis.
In steeply sloped areas this causes
unacceptable distortion.
Texturing Terrain Slopes
Texturing Terrain Slopes
Texturing Terrain Slopes
Texturing Terrain Slopes
Solution: Selectable projection axis and scale
per texture tile
Adds one extra level of indirection:
   “Layer Table”         Tile   Axis   Scale




                                X      1.5
                   ID1
                   ID2
                    f
                                Z      1
Texturing Terrain Slopes
Two layers can share the same texture tile,
while having different projection axis/scale.
Blend clipmap now contains layer ID.
                        Tile   Axis   Scale




                               X      1.5
                  ID1
                  ID2
                   f
                               Z      1
Tile Projection Axis
X
Y
Z
Texturing Terrain Slopes
Texturing Terrain Slopes
Storage, Streaming & Synthesis

           Terrain sections LODs        Cache

 Disk
        Streaming           Synthesis
Storage, Streaming & Synthesis
Terrain divided into rectangular sections
For each section LOD chains of the elevation
and layer data are stored independently.
Section LODs are streaming on demand.
The synthesis process can fill the gaps when
some LOD is temporally unavailable.
Procedural synthesis is also use to generate
extra high frequency detail.
Without Procedural Detail
With Procedural Detail
Questions?
We are Hiring!

Programming all engine areas
  Graphics, Animation, Physics and Tools.
All levels of experience
  Junior, Senior, Lead...

More Related Content

What's hot

Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barré-Brisebois
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Guerrilla
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360VIKAS SINGH BHADOURIA
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)Tiago Sousa
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderEidos-Montréal
 

What's hot (20)

Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with MantleRendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
 
The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
 

Similar to Angel cunado_The Terrain Of KUF2

CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture MappingMark Kilgard
 
Voxel rendering on mobile devices
Voxel rendering on mobile devicesVoxel rendering on mobile devices
Voxel rendering on mobile devicesDevGAMM Conference
 
The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014Jarosław Pleskot
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)basisspace
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
Anatomy of a Texture Fetch
Anatomy of a Texture FetchAnatomy of a Texture Fetch
Anatomy of a Texture FetchMark Kilgard
 
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Jarosław Pleskot
 
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...Joonhyung Lee
 
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionPR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionJinwon Lee
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemBo Li
 
Texture mapping in_opengl
Texture mapping in_openglTexture mapping in_opengl
Texture mapping in_openglManas Nayak
 
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)Mark Kilgard
 
Game development terminologies
Game development terminologiesGame development terminologies
Game development terminologiesAhmed Badr
 
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014Mary Chan
 
The Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneThe Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneNaughty Dog
 
Order Independent Transparency
Order Independent TransparencyOrder Independent Transparency
Order Independent Transparencyacbess
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The SurgePhilip Hammer
 

Similar to Angel cunado_The Terrain Of KUF2 (20)

CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture Mapping
 
Voxel rendering on mobile devices
Voxel rendering on mobile devicesVoxel rendering on mobile devices
Voxel rendering on mobile devices
 
The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Anatomy of a Texture Fetch
Anatomy of a Texture FetchAnatomy of a Texture Fetch
Anatomy of a Texture Fetch
 
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
 
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
 
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for VisionPR-317: MLP-Mixer: An all-MLP Architecture for Vision
PR-317: MLP-Mixer: An all-MLP Architecture for Vision
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering System
 
A0280105
A0280105A0280105
A0280105
 
Texture mapping in_opengl
Texture mapping in_openglTexture mapping in_opengl
Texture mapping in_opengl
 
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
 
Reyes
ReyesReyes
Reyes
 
Game development terminologies
Game development terminologiesGame development terminologies
Game development terminologies
 
Extreme dxt compression
Extreme dxt compressionExtreme dxt compression
Extreme dxt compression
 
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
 
The Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneThe Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s Fortune
 
Order Independent Transparency
Order Independent TransparencyOrder Independent Transparency
Order Independent Transparency
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 

More from drandom

노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splattingdrandom
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템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
 
오토데스크 게임수퍼유저투어 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 (16)

노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splatting
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템
 
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
 
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
오토데스크 게임수퍼유저투어 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
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...Amil baba
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...Amil baba
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpmainac1
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaYathish29
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
 
MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Constructionmbermudez3
 
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
 
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...
NO1 Trending kala jadu Love Marriage Black Magic Punjab Powerful Black Magic ...
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUp
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
 
MASONRY -Building Technology and Construction
MASONRY -Building Technology and ConstructionMASONRY -Building Technology and Construction
MASONRY -Building Technology and Construction
 
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Harsh Vihar (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
 

Angel cunado_The Terrain Of KUF2

  • 1. The Terrain of Angel Cunado Lead Engine Programmer
  • 2. Kingdom Under Fire II MMO 3rd Person Action Real Time Strategy MMOARTS
  • 3. Kingdom Under Fire II Terrain requirements 3rd person camera (close view, high detail) RTS camera (large, instant displacements) Large continuous world (streaming) Direct3D 9 class HW with ps3
  • 7. Terrain Geometry Height map based 8Km x 8Km terrain patch around the camera Geometry resolution down to 12.5cm Brute force rendering → 8,589,934,592 tri.
  • 8. Terrain Geometry It's all about finding the right LOD technique We use “Geometry Clipmaps” “Geometry clipmaps: Terrain rendering using nested regular grids.” Siggraph 2004, F. Losasso, H. Hoppe “Terrain rendering using GPU base geometry clipmaps.” 2005, A. Asirvathan, H. Hoppe, GPU Gems 2
  • 9. Geometry Clipmaps Nested regular grids (2n-2)2 quads each Roughly centered around the camera Grid meshes must be progressively updated as the camera moves
  • 11. Geometry Clipmaps KUFII World Terrain n = 8, 254x254 quads, 129.032 triangles each clipmap 8 Geometry clipmaps – From 32m x 32m with 12.5cm resolution – To 4km x 4km with 16m resolution Total: 774.192 triangles
  • 12. Frustum Culling Split each clipmap into 12 nearly square patches 4 different index buffers 2n-2-1 x 2n-2-1, 2n-2-1 x 2n-2 2n-2 x 2n-2-1 2n-2 x 2n-2
  • 13. Frustum Culling 8x12 = 96 BBoxes to test ~8 x 4→32 draw calls ~200K visible triangles
  • 14. Geometry Clipmaps Geomorphing needed to avoid gaps between consecutive clipmaps. Geometry Clipmap update This is the tricky part... Store vertex elevations in a texture Incremental texture updates as the camera moves Please check the reference docs for details...
  • 16. Normal Clipmap Normals stored in texture clipmaps Generated at runtime from elevation data. 8 LODs 8192m x 8192m 1024 x 1024 texels 3cm details
  • 17. Normal clipmap Stored in a volume texture. One clipmap LOD → one volume slice PS calculates the right slice and UVs Based in distance to camera and derivatives Compressed to DXT5
  • 19. Texturing This a 20km x 20km section of KUFII terrain. Texture details down to ~3mm Equivalent to 2 6,000,000 texels.
  • 20. Texture Splatting Classical terrain texturing method Combine 2 repeating tiles using a lower resolution blend map. Use multipass render ..or multitexturing. x
  • 21. Texture Splatting 4096 x 4096 blend map for a 20Km x 20Km results in ~5x5m per texel. KUFII art team wanted ~0.1x0.1m per texel
  • 22. Texture Splatting 4096 x 4096 blend map for a 20Km x 20Km results in ~5x5m per texel. KUFII art team wanted ~0.1x0.1m Easy... just use a texture clipmap for the blend map!
  • 24. Texture Splatting What if we want to use 64 different tiles? We need 63 blend channels... 16 passes with 4 texture tiles each?!
  • 25. Texture Splatting What if we want our tiles to also support bump mapping? Too many passes, too many texture fetches.
  • 26. Conventional solution Split the terrain into smaller sections that use a reasonable number of tiles.
  • 27. Conventional solution Tradeoff between number of sections and number of tiles in each section Terrain artists need to be careful to disguise the seams between adjacent sections
  • 28. Conventional solution Tradeoff between number of sections and number of tiles in each section Terrain artists need to be careful to disguise the seams between adjacent sections And most important: Geometry Clipmaps treat terrain as it was continuous!!! No easy way to divide in sections using independent draw calls each.
  • 29. Texture Splatting Revisited Splatting with up to 256 tiles! What if we consider each texel in the blend clipmap as a separate terrain section using up to 2 tiles? Reminder: One blend texel in KUFII → ~10x10cm.
  • 30. Texture Splatting Revisited Splatting with up to 256 tiles! What if we consider each texel in the blend clipmap as a separate terrain section using up to 2 tiles? Reminder: One blend texel in KUFII → ~10x10cm. Assign an index to each tile Store 2 indices and one alpha value per texel of the blend clipmap Pack all the tiles in a texture Atlas.
  • 31. Splatting with 2 indexed color tiles... ID1 ID2 f x
  • 32. ...and 1 bump tile. ID1 ID2 f +
  • 33. Texture Splatting Revisited A total 6 texture fetches required: Blend ClipMap: 1 Normal ClipMap: 2 Color Atlas: 2 Bump Atlas: 1
  • 34. Blend Clipmap Format The tile with the highest weight goes in ID1 Bump map uses only ID1 Blend weight range is 0.5 to 1.0 Two possible formats 5551 RGBA => 32 tiles and 64 blend steps 8888 RGBA => 256 tiles and 512 blend steps If weight == 0 then make ID2 = ID1 to optimize texture bandwidth
  • 36. Blend Map Filtering Problem: HW texture filtering makes no sense. We need to filter in the PS Fetch the Blend clipmap 4 times Fetch the Color Atlas 2 x 4 = 8 times Fetch the Bump Atlas 4 times Do bi-linear filtering by interpolating in the PS
  • 38. Layer Map Filtering 18 texture fetches needed! So how expensive is it?...
  • 39. Layer Map Filtering 18 texture fetches needed! So how expensive is it?... …not that much actually Blend Map fetches are always 4 neighboring texels Atlas fetches usually end up sampling the same tile (and UV coords) several times E.g. The 8 color fetches very rarely correspond to more than 2 or 3 actual different tiles. ~ 25% perf. decrease compared to the non- filtered version.
  • 40. PS Dynamic Flow Control
  • 41. PS Dynamic Flow Control There are big areas in the Blend Map where ID0 and ID1 don't change across several texels. Green areas in the previous slide. In those areas HW bi-linear filter works just fine. Use dynamic flow control to skip PS bi-linear filter. Pre-compute the condition expression and store it in the blend map alpha channel.
  • 42. Texture Memory Requirements 888RGBX Blend Clipmap: 24 MB 6 slices x 1024x1024 Covering 128m to 4096m Closest clipmap texel size = 12.5cm DXT5 Normal Clipmap: 8MB 8 slices x 1024x1024 Covering 32m to 4096m Closest clipmap texel size = 3.125cm Total: 32MB
  • 43. Low Quality Settings Texture Memory Requirements 888RGBX Blend Clipmap: 7 MB 7 slices x 512x512 Covering 64m to 4096m Closest clipmap texel size = 12.5cm DXT5 Normal Clipmap: 2.25MB 9 slices x 512x512 Covering 16m to 4096m Closest clipmap texel size = 3.125cm Total: 9.25MB
  • 45. Low Quality vs High Quality Settings
  • 46. Texturing Terrain Slopes Textures are mapped to the terrain by a planar projection along the Y axis. In steeply sloped areas this causes unacceptable distortion.
  • 50. Texturing Terrain Slopes Solution: Selectable projection axis and scale per texture tile Adds one extra level of indirection: “Layer Table” Tile Axis Scale X 1.5 ID1 ID2 f Z 1
  • 51. Texturing Terrain Slopes Two layers can share the same texture tile, while having different projection axis/scale. Blend clipmap now contains layer ID. Tile Axis Scale X 1.5 ID1 ID2 f Z 1
  • 55. Storage, Streaming & Synthesis Terrain sections LODs Cache Disk Streaming Synthesis
  • 56. Storage, Streaming & Synthesis Terrain divided into rectangular sections For each section LOD chains of the elevation and layer data are stored independently. Section LODs are streaming on demand. The synthesis process can fill the gaps when some LOD is temporally unavailable. Procedural synthesis is also use to generate extra high frequency detail.
  • 60. We are Hiring! Programming all engine areas Graphics, Animation, Physics and Tools. All levels of experience Junior, Senior, Lead...