Reflection Vectors
?
?

## 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)

q Quotes r References f Filter y Link c Credits

a
w
s
d
h j k l

## Quotes, References and Credits Menus

o Open URL (in new tab)

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

z Toggle filter / linking mode

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:50 You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
52:50 You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
52:50 You could try creating a normal map with a more predictable reflection, rather than a sphere
🗪
53:53 Is the Y-axis correctly set in the normal map?
🗪
53:53 Is the Y-axis correctly set in the normal map?
🗪
53:53 Is the Y-axis correctly set in the normal map?
🗪
54:58 A pyramid was suggested by a couple of people
🗪
54:58 A pyramid was suggested by a couple of people
🗪
54:58 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:10 Q: So it would need to be flipped on both directions?
🗪
1:01:10 Q: So it would need to be flipped on both directions?
🗪
1:01:10 Q: So it would need to be flipped on both directions?
🗪
1:01:26 Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:01:26 Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:01:26 Q: I think the lower reflection also needs to flip the Y there because it's the incoming vector, right?
🗪
1:02:06 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:06 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:06 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:01 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:01 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:01 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:35 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:35 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:35 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:17 Cylinders might be useful
🗪
1:05:17 Cylinders might be useful
🗪
1:05:17 Cylinders might be useful
🗪
1:08:26 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:26 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:26 Are you using a left-handed coordinate system or a right-handed coordinate system?
🗪
1:08:54 Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:08:54 Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:08:54 Would inverted versions of the normal maps be useful? (inverted sphere)
🗪
1:09:17 That's disturbing
🗪
1:09:17 That's disturbing
🗪
1:09:17 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:29 Q: That's a wrap!
🗪
1:12:29 Q: That's a wrap!
🗪
1:12:29 Q: That's a wrap!
🗪