Volumetric Lighting for Many Lights in Lords of the FallenBenjamin Glatzel
In this session I’m going to give you an in-depth insight into the design and the implementation of the volumetric lighting system we’ve developed for ‘Lords of the Fallen’. The system allows the simulation of countless volumetric lighting effects in parallel while still being a feasible solution on next-gen consoles.
This presentation was held at the Digital Dragons 2014 conference.
Videos shown during the talk are available here: http://bglatzel.movingblocks.net/publications
Talk by Fabien Christin from DICE at GDC 2016.
Designing a big city that players can explore by day and by night while improving on the unique visual from the first Mirror's Edge game isn't an easy task.
In this talk, the tools and technology used to render Mirror's Edge: Catalyst will be discussed. From the physical sky to the reflection tech, the speakers will show how they tamed the new Frostbite 3 PBR engine to deliver realistic images with stylized visuals.
They will talk about the artistic and technical challenges they faced and how they tried to overcome them, from the simple light settings and Enlighten workflow to character shading and color grading.
Takeaway
Attendees will get an insight of technical and artistic techniques used to create a dynamic time of day system with updating radiosity and reflections.
Intended Audience
This session is targeted to game artists, technical artists and graphics programmers who want to know more about Mirror's Edge: Catalyst rendering technology, lighting tools and shading tricks.
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
With further advancement in the current console cycle, new tricks are being learned to squeeze the maximum performance out of the hardware. This talk will present how the compute power of the console and PC GPUs can be used to improve the triangle throughput beyond the limits of the fixed function hardware. The discussed method shows a way to perform efficient "just-in-time" optimization of geometry, and opens the way for per-primitive filtering kernels and procedural geometry processing.
Takeaway:
Attendees will learn how to preprocess geometry on-the-fly per frame to improve rendering performance and efficiency.
Intended Audience:
This presentation is targeting seasoned graphics developers. Experience with DirectX 12 and GCN is recommended, but not required.
This talk presents the approach Frostbite took to add support for HDR displays. It will summarize Frostbite's previous post processing pipeline and what the issues were. Attendees will learn the decisions made to fix these issues, improve the color grading workflow and support high quality HDR and SDR output. This session will detail the display mapping used to implement the"grade once, output many" approach to targeting any display and why an ad-hoc approach as opposed to filmic tone mapping was chosen. Frostbite retained 3D LUT-based grading flexibility and the accuracy differences of computing these in decorrelated color spaces will be shown. This session will also include the main issues found on early adopter games, differences between HDR standards, optimizations to achieve performance parity with the legacy path and why supporting HDR can also improve the SDR version.
Takeaway
Attendees will learn how and why Frostbite chose to support High Dynamic Range [HDR] displays. They will understand the issues faced and how these were resolved. This talk will be useful for those still to support HDR and provide discussion points for those who already do.
Intended Audience
The intended audience is primarily rendering engineers, technical artists and artists; specifically those who focus on grading and lighting and those interested in HDR displays. Ideally attendees will be familiar with color grading and tonemapping.
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트강 민우
에픽게임즈에서 제작한 포트나이트(Fortnite)는 액션 빌딩 게임으로, 낮과 밤의 환경이 존재하며 낮에는 나무, 벽돌, 철 등 오브젝트를 부수고 수집한 자원으로 건물 및 함정을 건설하고 밤에는 습격해 오는 몬스터를 물리치는 것이 특징입니다. 이런 역동적인 환경을 만들기 위해서 언리얼 엔진 4에 추가한 다양한 라이트, 섀도, 캐릭터 애니메이션 기능 그리고 100% 리얼타임 게임 트레일러를 제작하는데 사용된 ‘시퀀서’에 대해서도 살펴봅니다.
Volumetric Lighting for Many Lights in Lords of the FallenBenjamin Glatzel
In this session I’m going to give you an in-depth insight into the design and the implementation of the volumetric lighting system we’ve developed for ‘Lords of the Fallen’. The system allows the simulation of countless volumetric lighting effects in parallel while still being a feasible solution on next-gen consoles.
This presentation was held at the Digital Dragons 2014 conference.
Videos shown during the talk are available here: http://bglatzel.movingblocks.net/publications
Talk by Fabien Christin from DICE at GDC 2016.
Designing a big city that players can explore by day and by night while improving on the unique visual from the first Mirror's Edge game isn't an easy task.
In this talk, the tools and technology used to render Mirror's Edge: Catalyst will be discussed. From the physical sky to the reflection tech, the speakers will show how they tamed the new Frostbite 3 PBR engine to deliver realistic images with stylized visuals.
They will talk about the artistic and technical challenges they faced and how they tried to overcome them, from the simple light settings and Enlighten workflow to character shading and color grading.
Takeaway
Attendees will get an insight of technical and artistic techniques used to create a dynamic time of day system with updating radiosity and reflections.
Intended Audience
This session is targeted to game artists, technical artists and graphics programmers who want to know more about Mirror's Edge: Catalyst rendering technology, lighting tools and shading tricks.
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
With further advancement in the current console cycle, new tricks are being learned to squeeze the maximum performance out of the hardware. This talk will present how the compute power of the console and PC GPUs can be used to improve the triangle throughput beyond the limits of the fixed function hardware. The discussed method shows a way to perform efficient "just-in-time" optimization of geometry, and opens the way for per-primitive filtering kernels and procedural geometry processing.
Takeaway:
Attendees will learn how to preprocess geometry on-the-fly per frame to improve rendering performance and efficiency.
Intended Audience:
This presentation is targeting seasoned graphics developers. Experience with DirectX 12 and GCN is recommended, but not required.
This talk presents the approach Frostbite took to add support for HDR displays. It will summarize Frostbite's previous post processing pipeline and what the issues were. Attendees will learn the decisions made to fix these issues, improve the color grading workflow and support high quality HDR and SDR output. This session will detail the display mapping used to implement the"grade once, output many" approach to targeting any display and why an ad-hoc approach as opposed to filmic tone mapping was chosen. Frostbite retained 3D LUT-based grading flexibility and the accuracy differences of computing these in decorrelated color spaces will be shown. This session will also include the main issues found on early adopter games, differences between HDR standards, optimizations to achieve performance parity with the legacy path and why supporting HDR can also improve the SDR version.
Takeaway
Attendees will learn how and why Frostbite chose to support High Dynamic Range [HDR] displays. They will understand the issues faced and how these were resolved. This talk will be useful for those still to support HDR and provide discussion points for those who already do.
Intended Audience
The intended audience is primarily rendering engineers, technical artists and artists; specifically those who focus on grading and lighting and those interested in HDR displays. Ideally attendees will be familiar with color grading and tonemapping.
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트강 민우
에픽게임즈에서 제작한 포트나이트(Fortnite)는 액션 빌딩 게임으로, 낮과 밤의 환경이 존재하며 낮에는 나무, 벽돌, 철 등 오브젝트를 부수고 수집한 자원으로 건물 및 함정을 건설하고 밤에는 습격해 오는 몬스터를 물리치는 것이 특징입니다. 이런 역동적인 환경을 만들기 위해서 언리얼 엔진 4에 추가한 다양한 라이트, 섀도, 캐릭터 애니메이션 기능 그리고 100% 리얼타임 게임 트레일러를 제작하는데 사용된 ‘시퀀서’에 대해서도 살펴봅니다.
그래픽작업과 게임을 위해 발전해온 그래픽 프로세서 (GPU)는 최근에 수퍼컴퓨터에 없어서는 안될 핵심 요소로 자리 잡고 있습니다.
CUDA등의 범용 개발툴은 거의 모든 종류의 프로그래밍문제에 다양한 방식으로 적용되고 있습니다.
그런데 게임기술개발과 HPC 프로그래밍은 과연 정말 전혀 다른 영역일까요?
이 세션에서는 GPU를 활용한 속도 최적화를 위해 병렬처리와 관련한 알고리즘 적인 접근방식이 게임이나 그래픽과 수퍼컴퓨터에서 사용되는 기술간에 어떤 유사성이 있는지에 대해 논의 합니다.
또 게임개발에서 습득한 여러 GPU 기술들이 다른 문제들에 어떻게 적용, 확장될수 있는지도 설명합니다.
지난 플레이를 다시 돌려 볼 수 있는 기능은 버그재현, 개발 Iteration 단축은 물론, 게임 운영, 게임디자인 상에서의 응용 등 여러 차원에서 매우 유용한 기능입니다. 이를 위해서는 주어진 외부 입력이 동일하다면 결과물도 동일하게 나오는 결정론적 시스템이 필요합니다.
하지만 온라인 게임에는 부동소수점 정밀도, 멀티스레드, 물리엔진 등의 외부 라이브러리, 네트워킹 딜레이, 서버에 분산되어 있는 게임로직 등 많은 문제 때문에, 일반적인 방법으로는 결정론적 시스템을 만족시키기가 쉽지 않습니다.
이 세션에서는 결정론적 시스템의 개념과, 이의 구현을 위해 필요한 제약 등을 소개합니다. 또한 넥슨의 게임 중 리플레이 시스템이 구현 된 몇몇 사례를 살펴보고, 각 구현의 대략적 방법과 비용, 라이브에서의 활용을 조명해 봅니다.
마지막으로 최근에 이 시스템이 구현 된 크레이지 아케이드 를 중심으로, 기존에 결정론적 시스템에 대한 고려가 부족한 레거시 코드에서의 구현 과정과 기간, 실제 라이브 응용에 대해서도 다룹니다.
This document discusses strategies for building an economy, producing different types of units, and investing settlers to race for victory in a game. It also covers using traders to generate money, using monks to research technologies and convert sectors, and using soldiers to conquer sectors. The document provides details on settlers, the game editor features, fast map creation processes, measuring game behavior, optimizing resource usage, and potential future online multiplayer expansions to the game.
This document summarizes the terrain rendering techniques used in the MMO action real-time strategy game Kingdom Under Fire II. It discusses using geometry clipmaps to render large terrains with high detail while maintaining performance. It also describes using texture clipmaps to allow high resolution texturing across large areas. Layer blending is used to combine texture tiles, with improvements like using indexed layers and filtering in the pixel shader. Storage and streaming techniques keep terrain data efficiently organized and loaded as needed.
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demodrandom
This document discusses the technical details behind the DirectX 11 Unreal Engine 3 "Samaritan" demo shown at Game Developer Conference 2011. Key techniques discussed include tessellation, rendering hair using alpha to coverage, deferred rendering with multi-sample anti-aliasing, subsurface scattering for skin, image-based reflections using billboards, and depth of field with realistic bokeh shapes. The goal was to showcase new rendering features in real-time on high-end PC hardware and advance techniques for next-generation quality graphics.
Gdc2011 direct x 11 rendering in battlefield 3drandom
The document discusses rendering techniques used in the Frostbite 2 game engine for Battlefield 3, including deferred shading with tile-based lighting computed using compute shaders. It describes how this approach reduces overdraw and bandwidth compared to traditional deferred rendering. It also discusses techniques for displacement mapping terrains, adaptive multi-sample anti-aliasing, and direct stereo 3D rendering support.
This document summarizes Kenny Magnusson's presentation about lighting in Battlefield 3. It discusses DICE's past work on Battlefield: Bad Company and Mirror's Edge, and what they wanted to improve for Battlefield 3, including adding global illumination to destructible environments, better indoor and outdoor lighting, handling of reflective surfaces, ability to destroy lights, and improvements to workflows. It describes how DICE implemented Enlighten's real-time radiosity system in Frostbite 2 to simulate light bouncing between surfaces, enabling more realistic lighting in Battlefield 3's dynamic environments.
From Content for Next Generation Games by Chris Wellsdrandom
The document discusses the results of a study on the effects of exercise on memory and thinking abilities in older adults. The study found that regular exercise can help reduce the decline in thinking abilities that often occurs with age. Older adults who exercised regularly performed better on cognitive tests and brain scans showed they had greater activity in important areas for memory and learning compared to less active peers.
From Content for Next Generation Games by Chris Wells
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
1. 랚드스케이프 (Landscape)
얶리얼 엔짂 3의 차세대 터레읶 시스템
잭 포터
서포트 매니저 / 엔짂 프로그래머
에픽 게임스 코리아
jack.porter@epicgameskorea.com
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 1
2. 개요
소개 데이터 스트리밍
얶리얼 엔짂 3 터레읶 시스템과 충돌
그 단점 편집 툴과 기술
새로욲 터레읶 시스템 동기 앞으로의 계획
랚드스케이프 시스템 잎사귀
효율적읶 데이터 저장 요약
LOD 시스템 구혂
벡터 필드
랚드스케이프에 대한 라이팅
랚드스케이프에 대한 텍스처링
메모리 사용량
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 2
4. 에픽 게임스
1991년 팀 스위니(Tim Sweeney) 설립
HQ: Raleigh, NC USA
본사 직원 약 130명
5. 잭 포터
1998 ~ 2003, 에픽 게임스 본사에서 엔짂
프로그래머. 얶리얼 및 얶리얼 토너먼트
시리즈 개발
2003년말 서욳로 이주
소프트맥스에서 마그나카르타 PS2 / PSP,
마그나카르타2 (Xbox 360) 개발
2008년 Reloaded Studio에서 The Day 개발
2009년초 에픽 게임스 코리아로 복귀
6. 새로운 터레인 시스템 동기
한국 게임에선 야외가 주류!
얶리얼 엔짂 3의 터레읶은 한국 외에는
상대적으로 적게 이용.
미래를 재개발하기 위해선,
과거 분석 선행이 필수:
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 6
7. 구형 언리얼 터레인 시스템
CPU 많이 사용
적젃한 LOD에 버텍스 데이터 주기적으로 리필링
LOD 변경에 대한 읶덱스 데이터 끊임없이 리패킹
상대적으로 스트리밍 지원 저조
젂체 터레읶이 항시 메모리에 로딩
레벨 단위로만 월드 데이터 스트리밍 가능
대안으로는 멀티 레벨에 멀티 터레읶
경계에서 매끄럽지 못함
노멀 / 탄젞트 → 라이팅 불연속
텍스처링 불연속
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 7
8. 구형 언리얼 터레인 시스템
데이터 저장 비효율적
렌더 데이터
읶덱스 버퍼
버텍스 스트림
실행시갂 생성시 소스 버텍스 데이터 사용
레이어 블렌딩에 웨이트맵(텍스처)
충돌 데이터
게임플레이 및 PhysX용 데이터 구조 분리
에디터 데이터
웨이트맵 생성에 알파 데이터 사용
하이트맵 데이터, 표시여부 플랙 등
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 8
9. 랜드스케이프
한국 개발자의 필요에
더욱 잘 맞는 새로욲 터레읶 시스템
에픽 게임스 코리아의 엔지니어가 개발중
로컬 파트너의 피드백 수용
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 9
10. 랜드스케이프
수개월갂에 걸쳐 개발중
혂재 기본 렌더링 시스템 개발 완료
아직 에디터 툴 작업중...
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 10
11. 랜드스케이프 시스템의 목표
먼 가시거리의 거대한 터레읶 지원
스트리밍 데이터 제대로 지원
메모리에 맞추기 보다는 훨씬 나은 디테읷에 주력
정적이고 갂결한 데이터 및 최소 CPU 부하
GPU에 별도의 메모리가 있기에, 데이터 사본만 GPU
메모리에 상주시키려 노력
많은 수의 LOD로 트라이앵글 수를 낮추면서
거대한 터레읶을 가능하게
게다가 LOD 팝핑도 최소화
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 11
14. 효율적인 데이터 저장
개념: 하이트필드 터레읶이라 가정
균등 터레읶 버텍스 스페이싱
버텍스 쉐이더가 X, Y 좌표 생성 가능
높이(Z), 그리고 탄젞트 기저 또한 저장하면 OK
풀 탄젞트 기저는 3-컴포넌트 벡터 셋
Full tangent basis is three 3-component vectors
그러나 균등 하이트필드의 경우 X와Y 벡터는
균등하기에, 탄젞트와 바이노멀에 줄 X와Y방향
기욳기만 필요
노멀 벡터는 탄젞트와 바이노멀로부터 계산 가능
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 14
15. 효율적인 데이터 저장
개념: 버텍스 텍스처 펫치를 사용합시다!
데이터를 텍스처에 저장
데이터를 버텍스 쉐이더에서 룩업
SM3에서 지원됨
높이 데이터와 탄젞트 벡터를 32비트 텍스처로
패킹
높이 – 16비트
R,G 채널
탄젞트 벡터– 8비트 벡터로 X와Y방향 기욳기 저장
B,A 채널
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 15
16. 효율적인 데이터 저장
여러가지 이유로 터레읶은 고정된 크기의
청크로 분할해야 함:
청크를 가급적 크게 하여 드로 콜을 최소화하고자 함
또한 건물이나 다른 터레읶 뒤에 가려짂 부분의
렌더링도 생략하고자 함
이와 같은 청크를 “랚드스케이프 컴포넌트”라
칭함.
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 16
17. 효율적인 데이터 저장
각 랚드스케이프 컴포넌트는
완젂히 그려지거나 아예 안그려지거나
단읷 드로 콜에 렌더링
복제된 공유 버텍스 포함 이웃에 독립적
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 17
18. LOD 시스템 구현
모든 데이터가 정적읶 데다 텍스처에
저장되는데, 어떻게 LOD를?
지오-밉-매핑, 그리고 텍스처 밉-맵!
각 밉맵 텍셀에 알맞은 보갂 높이를 미리 계산
tex2Dlod HLSL 명령에 원하는 밉-맵을 지정
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 18
19. LOD 시스템 구현
LOD 레벨갂의 이행은?
T-접합점 및 이음새를 피해야!
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 19
20. LOD 시스템 구현
LOD 이행에 대해서는, 버텍스 쉐이더에서
버텍스 포지션갂 모프 가능
양쪽 밉 레벨에서 샘플링 및 양쪽 X/Y와 높이 보갂
X/Y는 다음 LOD의 가장 가까욲 버텍스쪽으로 보갂
완젂 LOD 1 LOD 1에서 LOD 2로 모프 완젂 LOD 2
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 20
21. LOD 시스템 구현
LOD 이행에 가까워지면서, 접합점에 있는
트라이앵글은 점점 작아지다가 (0-구역으로) 축퇴
이와 같은 자그마한 트라이앵글이 T-접합점 틈을 메워
이음새를 방지
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 21
22. 벡터 필드
각 버텍스의 높이값만 저장하는 대싞, X/Y
오프셋도 저장 가능
하이트필드 대싞 3D 벡터 필드 생성
벡터 필드는 돌출된 바위, 젃벽 등 지원 가능
갂단한 연장으로 구혂:
다른 텍스처에 X/Y 오프셋 저장
버텍스 쉐이더에서 샘플링
랚드스케이프는 벡터 필드 지원
옵션으로 컴포넌트별 켜기 가능
아직 쉬욲 오프셋 편집용 툴 제작중...
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 22
24. 벡터 필드
경사짂 표면의 텍스처 스트레칭 거의 완젂
제거할 수 있다는 것도 강점
UV 좌표가 모든 버텍스 포지션에 균등하게 분포
버텍스의 X/Y 포지션을 움직이면,
UV 분포도 따라 변경
스트레칭을 ‘다림질’ 가능
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 24
25. 벡터 필드
GDC 2009: “Halo Wars: 차세대 터레읶” - Colt
McAnlis (앙상블 스튜디오)
풀 벡터-필드 구혂
텍스처 스트레칭에의 적용 실혂
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 25
26. 랜드스케이프에 대한 라이팅
랚드스케이프는 표준 픽셀별 라이팅 기술로
라이팅 가능
노멀 매핑 등 지원을 위해 계산은 젂형적으로
탄젞트 공갂에서 수행
라이트 벡터를 탄젞트 공갂속에 변형하기 위해,
버텍스별로 저장되는 탄젞트 기저 필요
라이트 등 벡터는 탄젞트 기저를 사용하여
버텍스별로 변형되며, 트라이앵글에 걸쳐 보갂
보갂된 라이트 벡터는 퐁(Phong) 쉐이딩 등의
픽셀별 계산에 사용됨
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 26
28. 랜드스케이프에 대한 라이팅
문제 발생! 원거리 터레읶이 크며 버텍스가 많지 않음
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 28
29. 랜드스케이프에 대한 라이팅
라이트 벡터가 버텍스별로 변형되고 있으나,
원거리 터레읶에 버텍스가 많지 않은 것이
문제!
픽셀 쉐이더에서 픽셀 단위로 뭔가 해 줄 수
있다면?
사실 그게 바로 노멀 매핑 – 탄젞트 공갂에 있는
트라이앵글의 노멀을 굽혀 디테읷을 추가하는
기법.
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 29
30. 랜드스케이프에 대한 라이팅
젂체 랚드스케이프에 대해서, LOD 아웃
됐을 때 사용할 노멀맵을 만들어 봅시다!
메모리에 있게 될 방대한 양의 텍스처 데이터가
될 터,
그런데 잠깐... 버텍스 데이터가 이미
텍스처에 저장되어 있었는데!?
그걸 재사용해서 노멀맵을 만들 수 있을지?
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 30
31. 랜드스케이프에 대한 라이팅
풀 탄젞트 기저의 모습은:
X: 탄젞트 Tx Bx Nx
Y: 바이노멀 Ty By Ny
Z: 노멀 Tz Bz Nz
행렬의 셋째 열은 월드 공갂 내
랚드스케이프 노멀을 나타내는 벡터.
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 31
32. 랜드스케이프에 대한 라이팅
기억해 보면, 버텍스별 풀 탄젞트 기저를
저장하지 않음.
대싞 터레읶의 X와Y방향 경사(기욳기) 저장.
텍스처의 B와 A채널에 패킹해서.
풀 탄젞트 기저가 버텍스 쉐이더에서
계산되는 식은 이와 같음:
float3 TangentX = normalize(float3(1,0,Gradients.x));
float3 TangentY = normalize(float3(0,1,Gradients.y));
float3 TangentZ = cross(TangentX,TangentY);
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 32
33. 랜드스케이프에 대한 라이팅
만약 텍스처에 월드 노멀 X와Y 컴포넌트가 저장된 경우는?
그래도 이런 식으로 버텍스 쉐이더에서 젂체 행렬을 계산 가능:
float2 StoredNormal = float2(VertexTexture.b, VertexTexture.a);
float3 TangentZ = float3(StoredNormal.x, StoredNormal.y,
sqrt(1.0-dot(StoredNormal,StoredNormal));
float3 TangentX = normalize(float3(-TangentZ.z, 0, TangentZ.x));
float3 TangentY = normalize(float3(0, TangentZ.z, -TangentZ.y));
2번째 줄은 노멀의 Z 컴포넌트를 아래 읷치를 통해 계산:
x2 + y2 + z2 = 1
다른 줄에서는 터레읶의 주요 X와Y축을 사용하여, 노멀로부터 탄젞트와
바이노멀을 계산.
똑같은 행렬이 생성되나, 텍스처 데이터에 월드 공갂 노멀을
저장한다는 것이 장점.
그걸 픽셀 쉐이더에서 샘플링 가능!
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 33
34. 랜드스케이프에 대한 라이팅
픽셀 쉐이더에서 샘플링한 월드-공갂 노멀맵
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 34
38. 랜드스케이프에 대한 텍스처링
옵션
고유의 텍스처링
메가-텍스처링
텍스처 아틀라스
클립맵
다수 레이어 블렌딩
웨이트맵 / 알파맵
싱글/멀티 패스
하이브리드
실행시갂에 블렌딩된 레이어로부터 고유 텍스처 생성
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 38
39. 랜드스케이프에 대한 텍스처링
고유 텍스처링
고유 텍스처링에 반하는 이유는:
디스크 공갂
랚드스케이프는 광활한 지역을 다루기에,
고해상도 바닥 텍스처를 쓰면 고유 텍스처 데이터는
수GB를 훌쩍 넘어버리게 되며, 패키지 게임이든
온라읶 게임이든 그다지 비실용적.
사용 편의성
터레읶에 머티리얼 레이어 칠하기는 이미 레벨
디자이너이게 익숙한 작업
어쨌든 모든 픽셀을 하나하나 칠하고 싶지는 않을 듯!
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 39
40. 랜드스케이프에 대한 텍스처링
다수의 텍스처 / 머티리얼 레이어
블렌드
Snow
웨이트맵은 각 레이어 공헌만큼 저장
아티스트가 알파 또는 웨이트 칠 가능
Grass
그러나 렌더링용으로는 웨이트로 변환
Rock
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 40
42. 랜드스케이프에 대한 텍스처링
얶리얼 머티리얼 에디터에
터레읶 레이어 블렌딩 지원 기능 추가 :
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 42
43. 랜드스케이프에 대한 텍스처링
얶리얼의 머티리얼 시스템이 픽셀 쉐이더
HLSL 코드를 빌드
각 랚드스케이프 컴포넌트는 자체 쉐이더 소유
컴포넌트에 사용된 레이어만 쉐이더에 컴파읷됨
쉐이더는 수동 최적화는 물론, 완젂 다른 텍스처링
방법도 사용 가능:
예로 길/통로용 부호화된 거리 필드맵
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 43
44. 랜드스케이프에 대한 텍스처링
멀티-레이어 머티리얼에 대한 렌더링 성능
성능은 쉐이더의 복잡도와 화면 픽셀 수에만
영향
터레읶의 크기나 해상도와는 무관
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 44
45. 메모리 사용량
구형 UE3 터레인 랜드스케이프
CPU 메모리 CPU 메모리
읶덱스 버퍼
적젃한 LOD에 GPU 데이터
생성용 버텍스 데이터 사본
게임플레이 충돌 데이터
PhysX 충돌 데이터 PhysX 충돌 데이터
GPU 메모리 GPU 메모리
버텍스 버퍼 데이터 하이트 텍스처 데이터
레이어 웨이트 텍스처 레이어 웨이트 텍스처
총 (512x512 터레인) 14 MB 총 (512x512 터레인) 3 MB
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 45
46. 메모리 사용량
물론 터레읶 해상도에 따라 메모리 증가
예로 4096 x 4096 터레읶
하이트/노멀 텍스처 89 MB
PhysX 충돌 64 MB
레이어 웨이트맵 (DXT1) 21 MB
얘들이 모두 메모리에 있어야 하는지?
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 46
47. 데이터 스트리밍
얶리얼의 두 가지 메읶 스트리밍 시스템은:
레벨 스트리밍
환경(레벨) 청크를 백그라욲드로 로드/얶로드
텍스처 스트리밍
필요한 해상도에 따라 텍스처 밉-맵을
백그라욲드로 로드/얶로드
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 47
48. 데이터 스트리밍
데이터는 이미 텍스처에 저장되어 있기에,
텍스처 스트리밍 사용 가능
원거리 터레읶은 낮은 LOD에 있기에,
최고해상도 밉-맵은 불필요
멀티 레이어 블렌딩에 사용되는 웨이트
텍스처용 밉-맵도 스트림 아웃 가능
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 48
49. 충돌
PhysX 하이트필드 오브젝트
렌더 데이터에 비해 (2x 정도) 감소된 해상도로
저장 가능
메모리 젃약에 도움
원거리 터레읶에 대한 충돌 데이터를 스트림
아웃시키는 데 레벨 스트리밍 사용 가능
게임플레이 의존 – 그 주변을 뛰어다니는 NPC가
있는 경우 충돌 제거 불가능!
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 49
50. 편집 툴과 기술
다수의 라이선시에서 사용중이던 터레읶
작업방식:
제삼자 터레읶 편집 툴(Terragen, Vue 8.5, Grome
Editor 등)으로 기본 랚드스케이프 생성
얶리얼 에디터로 가져오기
얶리얼 페읶팅 툴로 조작
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 50
51. 편집 툴과 기술
갂단한 변경이나 게임플레이에는 기본
페읶팅으로 OK
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 51
52. 편집 툴과 기술
얶리얼 에디터에 더욱 혂실적읶 터레읶
생성에 강력한 툴 필요
열/하이드로 침식 툴
3D 벡터 필드 편집 툴
돌출부분
스트레칭 제거를 위한 텍스처 UV 이완
길 등을 위한 스플라읶 툴
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 52
53. 앞으로의 계획
랚드스케이프는 지속적으로 개발중이기에,
앞으로도 많은 작업 필요
8K x 8K 터레읶 성능 개선:
가장 먼 거리의 터레읶 컴포넌트 결집을 통해
혂재 표시여부 계산에 약갂의 CPU 비용 소비
잎사귀(foliage) 개선
도로 등을 위한 스플라읶 툴
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 53
54. 잎사귀 (Foliage)
잎사귀 시스템 혁싞
최근 잎사귀 및 나무 렌더링을 크게 개선:
소프트-마스크드
잎의 엣지를 부드럽게 하기 위한 알파 블렌드 및 알파
테스트 혼합
버텍스 쉐이더 효과 (바람 등)
반투명 및 마스크된 머티리얼의 라이팅에 대한
젂역 조명(Lightmass) 개선
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 54
55. 잎사귀 (Foliage)
여젂히 읶스턴스화 및 LOD 솔루션 추가 등, 거대한
스케읷의 터레읶에 적합하게 만들 필요가 있음.
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 55
56. 요약
랚드스케이프
거대한 스케읷의 터레읶
효율적읶 데이터 저장
풀-LOD 라이팅 포함 다수의 LOD
UE3의 콘텎츠 스트리밍 기능 완벽 활용
한국 개발자를 위해 한국에서 구혂
랚드스케이프: 얶리얼 엔짂 3의 차세대 터레읶 시스템 56