Mark McCubbin
With thanks to
Thomas Engel
Markus Breyer
2
Goals
3
Goals
3
Goals
3
Goals
3
Goals
3
Goals
3
Goals
3
Example – Lair PS3
4
Overview
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
World description
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
World description
Density Representation
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
World description
Density Representation
Job Management / Dispatch
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
World description
Density Representation
Job Management / Dispatch
Worker-CPU specifics
5
LOD and rendering basic visualization of the foliage.
Overview
Basic Idea
World description
Density Representation
Job Management / Dispatch
Worker-CPU specifics
Rendering
5
LOD and rendering basic visualization of the foliage.
Basic Idea
6
Basic Idea
6
Basic Idea
6
Basic Idea
6
Basic Idea
6
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Basic Idea
7
The switch between camera facing sprite+ground aligined sprite can be surprisingly close to the camera to be
convincing.
You can also get an excellent parallax effect if you go further and have multiple slices on the camera facing
sprite layer. GPU time was critical to us in Lair, so that wasn’t an option. This is being added though as a 4th
LOD.
Level of Detail
8
World Description
Each foliage layer should only represent one type of foliage, like grass for example.
Tweak-able nodes meaning you need to be able to change the size of the area represented by each node. The directly affects both
rendering and processing time.
Each foliage layer should only represent one type of foliage, like grass for example.
Tweak-able nodes meaning you need to be able to change the size of the area represented by each node. The directly affects both
rendering and processing time.
Each foliage layer should only represent one type of foliage, like grass for example.
Tweak-able nodes meaning you need to be able to change the size of the area represented by each node. The directly affects both
rendering and processing time.
Each foliage layer should only represent one type of foliage, like grass for example.
Tweak-able nodes meaning you need to be able to change the size of the area represented by each node. The directly affects both
rendering and processing time.
10
Density Representation
10
Density Representation
10
Density Representation
10
Density Representation
10
Density Representation
11
Density Representation
11
Density Representation
11
Density Representation
11
Density Representation
12
Density Representation
12
Density Representation
12
Density Representation
12
Density Representation
12
Density Representation
12
Visible Nodes / LOD Example
13
Visible Nodes / LOD Example
Node
13
Job Management – CPU
14
Job Management – CPU
14
Job Management – CPU
14
Job Management – CPU
14
Job Management - Flow
15
Job Management - Flow
15
Job Management - Flow
15
Job Management - Flow
15
Job Management - Flow
16
Job Management - Flow
16
Job Management - Flow
16
Job Management – Performance
17
Job Management – Performance
17
Job Management – Performance
17
Job Management – Performance
17
Job Management – Performance
18
Job Management – Performance
18
Job Management – Performance
18
Job Management – Performance
19
Job Management – Performance
19
Job Management – Performance
19
Job Management – Performance
19
Job Management - Performance
20
Job Management - Performance
20
Job Management - Performance
20
Worker-CPU/Thread
21
Worker-CPU/Thread
21
Worker-CPU/Thread
21
Worker-CPU/Thread
21
Worker-CPU/Thread
22
Worker-CPU/Thread
22
Worker-CPU/Thread
22
Worker-CPU/Thread
22
Worker-CPU/Thread
22
Worker-CPU/Thread
22
Worker-CPU/Thread
23
Worker-CPU/Thread
23
Worker-CPU/Thread
23
Worker-CPU/Thread
23
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
24
LOD consists of an alpha fade out.
We have basically 3 LOD levels, ground aligned sprite, camera facing sprite and 3D Object.
Additional tricks available to fake large areas of foliage in the distance by increasing the size of the nodes that the ground aligned
sprites represent.
Job - Implementation
25
25
25
25
25
26
Rendering
26
Rendering
26
Rendering
26
Rendering
27
Rendering
28
Rendering
28
Rendering
28
Rendering
28
Rendering
29
Note: If you have an expensive vertex shader, this might show up, was not an issue for us.
Rendering
29
Note: If you have an expensive vertex shader, this might show up, was not an issue for us.
Rendering
29
Note: If you have an expensive vertex shader, this might show up, was not an issue for us.
Rendering
29
Note: If you have an expensive vertex shader, this might show up, was not an issue for us.
Rendering
30
Rendering
30
Rendering
30
Rendering
30
Rendering
30
Q&A
31
Q&A
Any Questions ?
31