Normal Map Code Cleanup
?
?
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
z Toggle filter mode V Revert filter to original state
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
z Toggle filter mode V Revert filter to original state
Menu toggling
q Quotes r References f Filter c CreditsIn-Menu Movement
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Quotes and References Menus
Enter Jump to timecodeQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Credits Menu
Enter Open URL (in new tab)⏫
Previous: 'Adding Normal Maps to the Pipeline'
⏫
1:43Off we go with a bit of a recap
1:43Off we go with a bit of a recap
1:43Off we go with a bit of a recap
3:51Talk about MakeSphereNormalMap and GPU vs CPU renderer
3:51Talk about MakeSphereNormalMap and GPU vs CPU renderer
3:51Talk about MakeSphereNormalMap and GPU vs CPU renderer
4:54Make TreeNormal for MakeSphereNormalMap to use
4:54Make TreeNormal for MakeSphereNormalMap to use
4:54Make TreeNormal for MakeSphereNormalMap to use
7:23Get the game running, look at the unpacking of the NormalMap and change the way that it's packed
7:23Get the game running, look at the unpacking of the NormalMap and change the way that it's packed
7:23Get the game running, look at the unpacking of the NormalMap and change the way that it's packed
9:05Blackboard: Consider the hacky nature of the problem
9:05Blackboard: Consider the hacky nature of the problem
9:05Blackboard: Consider the hacky nature of the problem
11:38Blackboard: The Ground's normals
11:38Blackboard: The Ground's normals
11:38Blackboard: The Ground's normals
14:03Handle front-facing bitmaps for now, starting by introducing UnscaleAndBiasNormal
14:03Handle front-facing bitmaps for now, starting by introducing UnscaleAndBiasNormal
14:03Handle front-facing bitmaps for now, starting by introducing UnscaleAndBiasNormal
16:21Check it out in-game and look back through the code
16:21Check it out in-game and look back through the code
16:21Check it out in-game and look back through the code
17:28Draw just the Normal and force Texel.a to be 1.0f
17:28Draw just the Normal and force Texel.a to be 1.0f
17:28Draw just the Normal and force Texel.a to be 1.0f
18:17Step through the NormalMap code
18:17Step through the NormalMap code
18:17Step through the NormalMap code
19:14Moment of realisation: We were still sampling out of the Texture
19:14Moment of realisation: We were still sampling out of the Texture
19:14Moment of realisation: We were still sampling out of the Texture
19:43Continue stepping through the code
19:43Continue stepping through the code
19:43Continue stepping through the code
21:43Moment of realisation: Usually you want to move to the next Pixel when you write one
21:43Moment of realisation: Usually you want to move to the next Pixel when you write one
21:43Moment of realisation: Usually you want to move to the next Pixel when you write one
22:13Quickly check the maths
22:13Quickly check the maths
22:13Quickly check the maths
22:52Blackboard: Nz should be Pythagorean theorem solved
22:52Blackboard: Nz should be Pythagorean theorem solved
22:52Blackboard: Nz should be Pythagorean theorem solved
24:39Calculate Nz
24:39Calculate Nz
24:39Calculate Nz
25:11Set the Normal and look at how the Pixels are packed
25:11Set the Normal and look at how the Pixels are packed
25:11Set the Normal and look at how the Pixels are packed
26:28Step through the code
26:28Step through the code
26:28Step through the code
26:52Blackboard: Dealing with the area outside the sphere
26:52Blackboard: Dealing with the area outside the sphere
26:52Blackboard: Dealing with the area outside the sphere
27:35Introduce RootTerm
27:35Introduce RootTerm
27:35Introduce RootTerm
29:05Check the values of the Normal
29:05Check the values of the Normal
29:05Check the values of the Normal
29:55Take a look at it in-game and find some erroneously negative values
29:55Take a look at it in-game and find some erroneously negative values
29:55Take a look at it in-game and find some erroneously negative values
31:40Owl of Shame Moment: Yesterday's code was awful
31:40Owl of Shame Moment: Yesterday's code was awful
31:40Owl of Shame Moment: Yesterday's code was awful
32:14View the correct NormalMap
32:14View the correct NormalMap
32:14View the correct NormalMap
32:48Recalculate Texel.rgb such that it is within the valid range of colours
32:48Recalculate Texel.rgb such that it is within the valid range of colours
32:48Recalculate Texel.rgb such that it is within the valid range of colours
34:23Turn off the NormalMap and consider using something more defined than the tree bitmap
34:23Turn off the NormalMap and consider using something more defined than the tree bitmap
34:23Turn off the NormalMap and consider using something more defined than the tree bitmap
34:55Temporarily draw TreeNormal as if it was a texture map
34:55Temporarily draw TreeNormal as if it was a texture map
34:55Temporarily draw TreeNormal as if it was a texture map
36:02Set the Pitch correctly and introduce BilinearSample function
36:02Set the Pitch correctly and introduce BilinearSample function
36:02Set the Pitch correctly and introduce BilinearSample function
39:07Check it out in-game and switch to the path in which the NormalMap modulates the texture
39:07Check it out in-game and switch to the path in which the NormalMap modulates the texture
39:07Check it out in-game and switch to the path in which the NormalMap modulates the texture
39:49Light the texture with the NormalMap
39:49Light the texture with the NormalMap
39:49Light the texture with the NormalMap
41:22Take a look at it in-game
41:22Take a look at it in-game
41:22Take a look at it in-game
41:48Tackle the environment_map stuff
41:48Tackle the environment_map stuff
41:48Tackle the environment_map stuff
45:24Blackboard: Picking from the environment map
45:24Blackboard: Picking from the environment map
45:24Blackboard: Picking from the environment map
47:51Nullify the Middle sample and make SampleEnvironmentMap produce values we can use
47:51Nullify the Middle sample and make SampleEnvironmentMap produce values we can use
47:51Nullify the Middle sample and make SampleEnvironmentMap produce values we can use
55:33Look forward to next week
55:33Look forward to next week
55:33Look forward to next week
56:28Q&A
🗩
56:28Q&A
🗩
56:28Q&A
🗩
57:42Recap today's cleaning up
57:42Recap today's cleaning up
57:42Recap today's cleaning up
1:07:12Blackboard: Bump Map vs Normal Map
1:07:12Blackboard: Bump Map vs Normal Map
1:07:12Blackboard: Bump Map vs Normal Map
1:12:37gasto5 Q; Will the effect end up like a bump map effect?
1:12:37gasto5 Q; Will the effect end up like a bump map effect?
1:12:37gasto5 Q; Will the effect end up like a bump map effect?
1:14:44We have come to the end of the questions
🗩
1:14:44We have come to the end of the questions
🗩
1:14:44We have come to the end of the questions
🗩
⏬
Next: 'Test Enviroment Maps'
⏬