Handmade Hero»Episode Guide
Reflection Vectors
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
1:06Recap where we left off yesterday
1:06Recap where we left off yesterday
1:06Recap where we left off yesterday
2:20Blackboard: Surface reflectance
2:20Blackboard: Surface reflectance
2:20Blackboard: Surface reflectance
5:12Blackboard: Straight reflection model and Collision detection
5:12Blackboard: Straight reflection model and Collision detection
5:12Blackboard: Straight reflection model and Collision detection
11:05Look at the code
11:05Look at the code
11:05Look at the code
12:25Blackboard: Orthographic projection
12:25Blackboard: Orthographic projection
12:25Blackboard: Orthographic projection
15:31Make the Z-axis our EyeVector
15:31Make the Z-axis our EyeVector
15:31Make the Z-axis our EyeVector
15:51Blackboard: A "premature optimisation"
15:51Blackboard: A "premature optimisation"
15:51Blackboard: A "premature optimisation"
18:43Compute the bounce on the assumption that the eye vector is always [0, 0, 1]
18:43Compute the bounce on the assumption that the eye vector is always [0, 0, 1]
18:43Compute the bounce on the assumption that the eye vector is always [0, 0, 1]
21:18Compile and see what happens
21:18Compile and see what happens
21:18Compile and see what happens
22:03Blackboard: Fudge factorα
22:03Blackboard: Fudge factorα
22:03Blackboard: Fudge factorα
24:22Blackboard: Sampling from the environment map
24:22Blackboard: Sampling from the environment map
24:22Blackboard: Sampling from the environment map
29:44Assume that the BounceDirection is always going in the direction of the map that it's trying to sample from
29:44Assume that the BounceDirection is always going in the direction of the map that it's trying to sample from
29:44Assume that the BounceDirection is always going in the direction of the map that it's trying to sample from
31:15Negate the BounceDirection for the Bottom map
31:15Negate the BounceDirection for the Bottom map
31:15Negate the BounceDirection for the Bottom map
33:05Start setting up SampleDirection
33:05Start setting up SampleDirection
33:05Start setting up SampleDirection
34:05Compute the offset from the fudge factor and the coefficient
34:05Compute the offset from the fudge factor and the coefficient
34:05Compute the offset from the fudge factor and the coefficient
35:36Compute tX and tY and (erroneously) clamp them
35:36Compute tX and tY and (erroneously) clamp them
35:36Compute tX and tY and (erroneously) clamp them
37:20Figure out what the UV is
37:20Figure out what the UV is
37:20Figure out what the UV is
39:41Check it out in-game and introduce some motion
39:41Check it out in-game and introduce some motion
39:41Check it out in-game and introduce some motion
43:40Blackboard: The way that we're encoding things
43:40Blackboard: The way that we're encoding things
43:40Blackboard: The way that we're encoding things
44:12Change that default Normal in MakeSphereNormalMap
44:12Change that default Normal in MakeSphereNormalMap
44:12Change that default Normal in MakeSphereNormalMap
45:01Take a look in-game
45:01Take a look in-game
45:01Take a look in-game
45:50Step into the debuggerβ
45:50Step into the debuggerβ
45:50Step into the debuggerβ
47:00Blackboard: We still need some degree of tilt to the mirror
47:00Blackboard: We still need some degree of tilt to the mirror
47:00Blackboard: We still need some degree of tilt to the mirror
47:50It was really just Casey being kind of bluntγ
47:50It was really just Casey being kind of bluntγ
47:50It was really just Casey being kind of bluntγ
47:53Tweak the Normal
47:53Tweak the Normal
47:53Tweak the Normal
49:01Check out the reflective sphere in-game
49:01Check out the reflective sphere in-game
49:01Check out the reflective sphere in-game
49:56Consider investigating what's going wrong with the Top map
49:56Consider investigating what's going wrong with the Top map
49:56Consider investigating what's going wrong with the Top map
51:46Q&A
🗩
51:46Q&A
🗩
51:46Q&A
🗩
52:50thesizik You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
52:50thesizik You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
52:50thesizik You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
53:53andsz_ Is the Y-axis correctly set in the normal map?
🗪
53:53andsz_ Is the Y-axis correctly set in the normal map?
🗪
53:53andsz_ Is the Y-axis correctly set in the normal map?
🗪
54:58pseudonym73 A pyramid was suggested by a couple of people
🗪
54:58pseudonym73 A pyramid was suggested by a couple of people
🗪
54:58pseudonym73 A pyramid was suggested by a couple of people
🗪
56:00Blackboard: Pyramid
56:00Blackboard: Pyramid
56:00Blackboard: Pyramid
57:05Make a pyramid
57:05Make a pyramid
57:05Make a pyramid
58:12Blackboard: Figuring out a pyramid
58:12Blackboard: Figuring out a pyramid
58:12Blackboard: Figuring out a pyramid
59:05Set that pyramid
59:05Set that pyramid
59:05Set that pyramid
1:00:30Give it a shot
1:00:30Give it a shot
1:00:30Give it a shot
1:01:10garlandobloom Q: So it would need to be flipped on both directions?
🗪
1:01:10garlandobloom Q: So it would need to be flipped on both directions?
🗪
1:01:10garlandobloom Q: So it would need to be flipped on both directions?
🗪
1:01:26garlandobloom Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:01:26garlandobloom Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:01:26garlandobloom Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:02:06ttbjm you said you might have to make the sky texture larger than the ground so it wouldn't miss it. Could you instead sample from adjacent sky maps (assuming they're not occluded)?
🗪
1:02:06ttbjm you said you might have to make the sky texture larger than the ground so it wouldn't miss it. Could you instead sample from adjacent sky maps (assuming they're not occluded)?
🗪
1:02:06ttbjm you said you might have to make the sky texture larger than the ground so it wouldn't miss it. Could you instead sample from adjacent sky maps (assuming they're not occluded)?
🗪
1:03:01grumpygiant256 The edge attenuation is correct, given that a reflected vector right on the edge will have a smaller Y value than ones reflected from nearer the center
🗪
1:03:01grumpygiant256 The edge attenuation is correct, given that a reflected vector right on the edge will have a smaller Y value than ones reflected from nearer the center
🗪
1:03:01grumpygiant256 The edge attenuation is correct, given that a reflected vector right on the edge will have a smaller Y value than ones reflected from nearer the center
🗪
1:04:35chronaldragon Q: Would it be possible to rotate the "incoming" sampling from the environment map so that it looks like the sphere is spinning?
🗪
1:04:35chronaldragon Q: Would it be possible to rotate the "incoming" sampling from the environment map so that it looks like the sphere is spinning?
🗪
1:04:35chronaldragon Q: Would it be possible to rotate the "incoming" sampling from the environment map so that it looks like the sphere is spinning?
🗪
1:05:17blueravengt Cylinders might be useful
🗪
1:05:17blueravengt Cylinders might be useful
🗪
1:05:17blueravengt Cylinders might be useful
🗪
1:08:26gasto5 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:26gasto5 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:26gasto5 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:54ttbjm Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:08:54ttbjm Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:08:54ttbjm Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:09:17abnercoimbre That's disturbing
🗪
1:09:17abnercoimbre That's disturbing
🗪
1:09:17abnercoimbre That's disturbing
🗪
1:09:35TODO(casey): Rotate normals based on X/Y axis!
1:09:35TODO(casey): Rotate normals based on X/Y axis!
1:09:35TODO(casey): Rotate normals based on X/Y axis!
1:12:29abnercoimbre Q: That's a wrap!
🗪
1:12:29abnercoimbre Q: That's a wrap!
🗪
1:12:29abnercoimbre Q: That's a wrap!
🗪