Matrix Multiplication and Transform Order ⚠ Click here to regain focus ⚠
?
?

Keyboard Navigation

Global Keys

W, A, P / S, D, 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 Credits

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

Credits Menu

Enter Open URL (in new tab)
0:08Recap and set the stage for the day
0:08Recap and set the stage for the day
0:08Recap and set the stage for the day
2:28Run the game to show where we're at with randomly ordered drawing
2:28Run the game to show where we're at with randomly ordered drawing
2:28Run the game to show where we're at with randomly ordered drawing
5:54Blackboard: Matrix Multiplication
5:54Blackboard: Matrix Multiplication
5:54Blackboard: Matrix Multiplication
9:00Blackboard: Order dependence
9:00Blackboard: Order dependence
9:00Blackboard: Order dependence
13:49Blackboard: Scaling matrix
13:49Blackboard: Scaling matrix
13:49Blackboard: Scaling matrix
15:36Blackboard: Rotation matrix, and why order dependence is important for us
15:36Blackboard: Rotation matrix, and why order dependence is important for us
15:36Blackboard: Rotation matrix, and why order dependence is important for us
21:33Blackboard: Matrix- and vector-multiplication are exactly the same thing
21:33Blackboard: Matrix- and vector-multiplication are exactly the same thing
21:33Blackboard: Matrix- and vector-multiplication are exactly the same thing
25:18Blackboard: Multiplication order of a long series of matrices
25:18Blackboard: Multiplication order of a long series of matrices
25:18Blackboard: Multiplication order of a long series of matrices
28:29Blackboard: Translation and 4x4 augmentation
28:29Blackboard: Translation and 4x4 augmentation
28:29Blackboard: Translation and 4x4 augmentation
37:30Blackboard: Object Transform, conceiving of the matrix in columns
37:30Blackboard: Object Transform, conceiving of the matrix in columns
37:30Blackboard: Object Transform, conceiving of the matrix in columns
43:07Blackboard: Camera Transform, conceiving of the matrix in rows
43:07Blackboard: Camera Transform, conceiving of the matrix in rows
43:07Blackboard: Camera Transform, conceiving of the matrix in rows
49:34Blackboard: Row vs Column Picture
49:34Blackboard: Row vs Column Picture
49:34Blackboard: Row vs Column Picture
53:45Blackboard: What is a camera transform and why does this do it?
53:45Blackboard: What is a camera transform and why does this do it?
53:45Blackboard: What is a camera transform and why does this do it?
1:00:03Blackboard: Camera translation
1:00:03Blackboard: Camera translation
1:00:03Blackboard: Camera translation
1:01:30Blackboard: Moving the world to align with the camera's axes
1:01:30Blackboard: Moving the world to align with the camera's axes
1:01:30Blackboard: Moving the world to align with the camera's axes
1:05:41Blackboard: Inner product
1:05:41Blackboard: Inner product
1:05:41Blackboard: Inner product
1:07:57Blackboard: Dot producting incoming points with the camera axes
1:07:57Blackboard: Dot producting incoming points with the camera axes
1:07:57Blackboard: Dot producting incoming points with the camera axes
1:09:48Blackboard: Rows are Camera axes; Columns are Object axes
1:09:48Blackboard: Rows are Camera axes; Columns are Object axes
1:09:48Blackboard: Rows are Camera axes; Columns are Object axes
1:12:51Blackboard: For an orthogonal matrix, the inverse is the transpose1
1:12:51Blackboard: For an orthogonal matrix, the inverse is the transpose1
1:12:51Blackboard: For an orthogonal matrix, the inverse is the transpose1
1:17:20Blackboard: The camera transforms we want to implement
1:17:20Blackboard: The camera transforms we want to implement
1:17:20Blackboard: The camera transforms we want to implement
1:25:20Blackboard: Combining translation and rotation in camera transforms
1:25:20Blackboard: Combining translation and rotation in camera transforms
1:25:20Blackboard: Combining translation and rotation in camera transforms
1:32:32handmade_math.h: Introduce CameraTransform(), Columns3x3(), Rows3x3() and Translate()
1:32:32handmade_math.h: Introduce CameraTransform(), Columns3x3(), Rows3x3() and Translate()
1:32:32handmade_math.h: Introduce CameraTransform(), Columns3x3(), Rows3x3() and Translate()
1:38:03handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3
1:38:03handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3
1:38:03handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3
1:43:53handmade_math.h: Introduce GetColumn() and GetRow()
1:43:53handmade_math.h: Introduce GetColumn() and GetRow()
1:43:53handmade_math.h: Introduce GetColumn() and GetRow()
1:45:49handmade_opengl.cpp: Consider how to implement our camera transform
1:45:49handmade_opengl.cpp: Consider how to implement our camera transform
1:45:49handmade_opengl.cpp: Consider how to implement our camera transform
1:47:22handmade_render_group.cpp: Make PushClipRect() responsible for computing the focal length
1:47:22handmade_render_group.cpp: Make PushClipRect() responsible for computing the focal length
1:47:22handmade_render_group.cpp: Make PushClipRect() responsible for computing the focal length
1:49:57Run the game to see the same thing we got before
1:49:57Run the game to see the same thing we got before
1:49:57Run the game to see the same thing we got before
1:51:47Q&A
1:51:47Q&A
1:51:47Q&A
1:53:03zilarrezko Can you interpolate if you wanted a smooth rotation about a point or axis over time?
🗪
1:53:03zilarrezko Can you interpolate if you wanted a smooth rotation about a point or axis over time?
🗪
1:53:03zilarrezko Can you interpolate if you wanted a smooth rotation about a point or axis over time?
🗪
1:54:35garryjohanson There have been some problems with trolls causing flame wars in the chat. I forget who you dedicated the management of the chat to?2
🗪
1:54:35garryjohanson There have been some problems with trolls causing flame wars in the chat. I forget who you dedicated the management of the chat to?2
🗪
1:54:35garryjohanson There have been some problems with trolls causing flame wars in the chat. I forget who you dedicated the management of the chat to?2
🗪
1:55:46sahfortv You mentioned (about six months ago, I think) that you have new art work. What's the plan with adding that?
🗪
1:55:46sahfortv You mentioned (about six months ago, I think) that you have new art work. What's the plan with adding that?
🗪
1:55:46sahfortv You mentioned (about six months ago, I think) that you have new art work. What's the plan with adding that?
🗪
1:56:16pepevel Did you know beforehand that you where going to discard the sorting code? Did you do all that for the sake of teaching a variety of techniques?
🗪
1:56:16pepevel Did you know beforehand that you where going to discard the sorting code? Did you do all that for the sake of teaching a variety of techniques?
🗪
1:56:16pepevel Did you know beforehand that you where going to discard the sorting code? Did you do all that for the sake of teaching a variety of techniques?
🗪
1:59:18frank3434455 Do you know anything about DirectX 12?
🗪
1:59:18frank3434455 Do you know anything about DirectX 12?
🗪
1:59:18frank3434455 Do you know anything about DirectX 12?
🗪
2:01:06frank3434455 When are you gonna do OOP?
🗪
2:01:06frank3434455 When are you gonna do OOP?
🗪
2:01:06frank3434455 When are you gonna do OOP?
🗪
2:02:04frank3434455 Ever heard of design patterns?
🗪
2:02:04frank3434455 Ever heard of design patterns?
🗪
2:02:04frank3434455 Ever heard of design patterns?
🗪
2:02:25frank3434455 Try unit testing your code so we can actually see if something is working
🗪
2:02:25frank3434455 Try unit testing your code so we can actually see if something is working
🗪
2:02:25frank3434455 Try unit testing your code so we can actually see if something is working
🗪
2:04:04micahtron Will the Molly Rocket team be at Emerald City Comicon this year?
🗪
2:04:04micahtron Will the Molly Rocket team be at Emerald City Comicon this year?
🗪
2:04:04micahtron Will the Molly Rocket team be at Emerald City Comicon this year?
🗪
2:04:11snoringtortoise In terms of profiling, how would you tell when you are hitting upper bounds of CPU, PCI Bus and GPU? Obviously, we already have a CPU profiler, wondering more about PCI Bus and GPU
🗪
2:04:11snoringtortoise In terms of profiling, how would you tell when you are hitting upper bounds of CPU, PCI Bus and GPU? Obviously, we already have a CPU profiler, wondering more about PCI Bus and GPU
🗪
2:04:11snoringtortoise In terms of profiling, how would you tell when you are hitting upper bounds of CPU, PCI Bus and GPU? Obviously, we already have a CPU profiler, wondering more about PCI Bus and GPU
🗪
2:05:57zennmystic Will you use Vulkan in your game at all, will it still be too new on release, or do some kind of tutorial on it?
🗪
2:05:57zennmystic Will you use Vulkan in your game at all, will it still be too new on release, or do some kind of tutorial on it?
🗪
2:05:57zennmystic Will you use Vulkan in your game at all, will it still be too new on release, or do some kind of tutorial on it?
🗪
2:07:48frank3434455 Do you think writing my own ring 0 driver would bypass VAC?
🗪
2:07:48frank3434455 Do you think writing my own ring 0 driver would bypass VAC?
🗪
2:07:48frank3434455 Do you think writing my own ring 0 driver would bypass VAC?
🗪
2:09:47snoringtortoise Is there any way to do that from our own code, or do we have to rely on external tools?3
🗪
2:09:47snoringtortoise Is there any way to do that from our own code, or do we have to rely on external tools?3
🗪
2:09:47snoringtortoise Is there any way to do that from our own code, or do we have to rely on external tools?3
🗪
2:12:18graeme7 Near the beginning of the stream the back of my chair fell off. I spent the entire stream fixing my chair. It feels more solid now and squeaks less but I'm afraid to lean back on it?
🗪
2:12:18graeme7 Near the beginning of the stream the back of my chair fell off. I spent the entire stream fixing my chair. It feels more solid now and squeaks less but I'm afraid to lean back on it?
🗪
2:12:18graeme7 Near the beginning of the stream the back of my chair fell off. I spent the entire stream fixing my chair. It feels more solid now and squeaks less but I'm afraid to lean back on it?
🗪
2:12:55snoringtortoise Not sure if anyone has mentioned this but Mac OSX doesn't support OpenGL core profile with OpenGL 1.x functions. This means that, if using glBegin etc, the maximum version of GL allowed is 2.1
🗪
2:12:55snoringtortoise Not sure if anyone has mentioned this but Mac OSX doesn't support OpenGL core profile with OpenGL 1.x functions. This means that, if using glBegin etc, the maximum version of GL allowed is 2.1
🗪
2:12:55snoringtortoise Not sure if anyone has mentioned this but Mac OSX doesn't support OpenGL core profile with OpenGL 1.x functions. This means that, if using glBegin etc, the maximum version of GL allowed is 2.1
🗪
2:14:44frank3434455 Can you name one of those exploits for my driver?4,5
🗪
2:14:44frank3434455 Can you name one of those exploits for my driver?4,5
🗪
2:14:44frank3434455 Can you name one of those exploits for my driver?4,5
🗪
2:18:22wobbly_bob Can you give Shawn M & Sean B's stream a plug before you go please?
🗪
2:18:22wobbly_bob Can you give Shawn M & Sean B's stream a plug before you go please?
🗪
2:18:22wobbly_bob Can you give Shawn M & Sean B's stream a plug before you go please?
🗪
2:19:20Plug Shawn,6 Sean7 and Jon's8 streams
2:19:20Plug Shawn,6 Sean7 and Jon's8 streams
2:19:20Plug Shawn,6 Sean7 and Jon's8 streams
2:20:51frank3434455 Would ring 0 driver bypass the anti cheat protection of Destiny
🗪
2:20:51frank3434455 Would ring 0 driver bypass the anti cheat protection of Destiny
🗪
2:20:51frank3434455 Would ring 0 driver bypass the anti cheat protection of Destiny
🗪
2:22:19insofaras Sean and Shawn are doing a specific stream today9
🗪
2:22:19insofaras Sean and Shawn are doing a specific stream today9
🗪
2:22:19insofaras Sean and Shawn are doing a specific stream today9
🗪
2:23:04frank3434455 How do I read the RAM memory on an XBox or PS4?
🗪
2:23:04frank3434455 How do I read the RAM memory on an XBox or PS4?
🗪
2:23:04frank3434455 How do I read the RAM memory on an XBox or PS4?
🗪
2:27:44snoringtortoise I'm not sure if anyone has mentioned this but in the cutscene shot 6, layer 3 and 4 are both at z=3.0f. Layer 3 should be at z-3.01f instead. Layer 4 is the child's tears and layer 3 is the child
🗪
2:27:44snoringtortoise I'm not sure if anyone has mentioned this but in the cutscene shot 6, layer 3 and 4 are both at z=3.0f. Layer 3 should be at z-3.01f instead. Layer 4 is the child's tears and layer 3 is the child
🗪
2:27:44snoringtortoise I'm not sure if anyone has mentioned this but in the cutscene shot 6, layer 3 and 4 are both at z=3.0f. Layer 3 should be at z-3.01f instead. Layer 4 is the child's tears and layer 3 is the child
🗪
2:30:25desuused Will the order of matrix multiplication be reversed if we use transposed matrices and vectors?
🗪
2:30:25desuused Will the order of matrix multiplication be reversed if we use transposed matrices and vectors?
🗪
2:30:25desuused Will the order of matrix multiplication be reversed if we use transposed matrices and vectors?
🗪
2:31:04Blackboard: Multiplying a matrix and a vector
2:31:04Blackboard: Multiplying a matrix and a vector
2:31:04Blackboard: Multiplying a matrix and a vector
2:35:03desuused Yes, that's what I was asking. Earlier in the video you said that matrix application order is unintuitive, and this way we can reverse the order10
🗪
2:35:03desuused Yes, that's what I was asking. Earlier in the video you said that matrix application order is unintuitive, and this way we can reverse the order10
🗪
2:35:03desuused Yes, that's what I was asking. Earlier in the video you said that matrix application order is unintuitive, and this way we can reverse the order10
🗪
2:38:54Wrap it up
2:38:54Wrap it up
2:38:54Wrap it up