Handmade Hero»Episode Guide
Making OpenGL Use Our Screen Coordinates
?
?

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)
0:09Recap and set the stage for the day
0:09Recap and set the stage for the day
0:09Recap and set the stage for the day
2:14Recall how our graphics architecture works at the moment
2:14Recall how our graphics architecture works at the moment
2:14Recall how our graphics architecture works at the moment
6:44Run the game and refresh our memory about where we left off
6:44Run the game and refresh our memory about where we left off
6:44Run the game and refresh our memory about where we left off
9:05handmade_render_group.cpp: Look at how the renderer currently works and talk about the notion of separating out the renderer
9:05handmade_render_group.cpp: Look at how the renderer currently works and talk about the notion of separating out the renderer
9:05handmade_render_group.cpp: Look at how the renderer currently works and talk about the notion of separating out the renderer
13:28Create handmade_opengl.cpp and translate RenderGroupToOutput into it
13:28Create handmade_opengl.cpp and translate RenderGroupToOutput into it
13:28Create handmade_opengl.cpp and translate RenderGroupToOutput into it
19:58handmade_opengl.cpp: Introduce OpenGLRectangle
19:58handmade_opengl.cpp: Introduce OpenGLRectangle
19:58handmade_opengl.cpp: Introduce OpenGLRectangle
25:47Blackboard: Mathsα
25:47Blackboard: Mathsα
25:47Blackboard: Mathsα
26:21Blackboard: Projecting the P from clip space to screen space
26:21Blackboard: Projecting the P from clip space to screen space
26:21Blackboard: Projecting the P from clip space to screen space
32:27"Life is hard"β
32:27"Life is hard"β
32:27"Life is hard"β
32:46Blackboard: Setting up our transformation matrix
32:46Blackboard: Setting up our transformation matrix
32:46Blackboard: Setting up our transformation matrix
41:09win32_handmade.cpp: Write our new OpenGLRectangle function inline, passing it the old values at first
41:09win32_handmade.cpp: Write our new OpenGLRectangle function inline, passing it the old values at first
41:09win32_handmade.cpp: Write our new OpenGLRectangle function inline, passing it the old values at first
43:14Run the game and see our old bug
43:14Run the game and see our old bug
43:14Run the game and see our old bug
44:09Internet: glLoadMatrix1
44:09Internet: glLoadMatrix1
44:09Internet: glLoadMatrix1
45:29win32_handmade.cpp: Initialize Proj array to pass to glLoadMatrix
45:29win32_handmade.cpp: Initialize Proj array to pass to glLoadMatrix
45:29win32_handmade.cpp: Initialize Proj array to pass to glLoadMatrix
47:25win32_handmade.cpp: #include handmade_intrinsics.h and handmade_math.h
47:25win32_handmade.cpp: #include handmade_intrinsics.h and handmade_math.h
47:25win32_handmade.cpp: #include handmade_intrinsics.h and handmade_math.h
47:54Run the game and see that everything does not just work
47:54Run the game and see that everything does not just work
47:54Run the game and see that everything does not just work
48:13Blackboard: Mathematical vs Computational matrix multiplication
48:13Blackboard: Mathematical vs Computational matrix multiplication
48:13Blackboard: Mathematical vs Computational matrix multiplication
53:26win32_handmade.cpp: Re-encode the Proj array for OpenGL's benefit
53:26win32_handmade.cpp: Re-encode the Proj array for OpenGL's benefit
53:26win32_handmade.cpp: Re-encode the Proj array for OpenGL's benefit
56:17Q&A
🗩
56:17Q&A
🗩
56:17Q&A
🗩
57:04Insobot I'm gonna start? Yeah i installed a driver software company. Kapp?
🗪
57:04Insobot I'm gonna start? Yeah i installed a driver software company. Kapp?
🗪
57:04Insobot I'm gonna start? Yeah i installed a driver software company. Kapp?
🗪
57:16Boorocks998 What keyboard layout do you use?
🗪
57:16Boorocks998 What keyboard layout do you use?
🗪
57:16Boorocks998 What keyboard layout do you use?
🗪
57:27cubercaleb Will handmade_opengl.cpp be included in the platform layer or game layer?
🗪
57:27cubercaleb Will handmade_opengl.cpp be included in the platform layer or game layer?
🗪
57:27cubercaleb Will handmade_opengl.cpp be included in the platform layer or game layer?
🗪
59:09elxenoaizd Jumped in a bit late, so are we using the fixed-function OpenGL API right now, or will we write our own matrix struct at some point?
🗪
59:09elxenoaizd Jumped in a bit late, so are we using the fixed-function OpenGL API right now, or will we write our own matrix struct at some point?
🗪
59:09elxenoaizd Jumped in a bit late, so are we using the fixed-function OpenGL API right now, or will we write our own matrix struct at some point?
🗪
59:52ozmethod Wrist braces - recommended for programmers in general, or just something you've had issues with?
🗪
59:52ozmethod Wrist braces - recommended for programmers in general, or just something you've had issues with?
🗪
59:52ozmethod Wrist braces - recommended for programmers in general, or just something you've had issues with?
🗪
1:00:07cubercaleb If you include handmade_opengl.cpp in the game layer, won't that force you to include windows.h and all the OpenGL headers in the game layer?
🗪
1:00:07cubercaleb If you include handmade_opengl.cpp in the game layer, won't that force you to include windows.h and all the OpenGL headers in the game layer?
🗪
1:00:07cubercaleb If you include handmade_opengl.cpp in the game layer, won't that force you to include windows.h and all the OpenGL headers in the game layer?
🗪
1:01:41grizzlyninja_ Was push buffer rendering primarily in the software renderer because the real hardware renderer works that way due to GPUs?
🗪
1:01:41grizzlyninja_ Was push buffer rendering primarily in the software renderer because the real hardware renderer works that way due to GPUs?
🗪
1:01:41grizzlyninja_ Was push buffer rendering primarily in the software renderer because the real hardware renderer works that way due to GPUs?
🗪
1:02:16Pix1234 Will the game be given away to dev viewers for free?
🗪
1:02:16Pix1234 Will the game be given away to dev viewers for free?
🗪
1:02:16Pix1234 Will the game be given away to dev viewers for free?
🗪
1:02:41elxenoaizd Off-topic: Have you worked with, talked to or met Andre Lamothe before?
🗪
1:02:41elxenoaizd Off-topic: Have you worked with, talked to or met Andre Lamothe before?
🗪
1:02:41elxenoaizd Off-topic: Have you worked with, talked to or met Andre Lamothe before?
🗪
1:03:06LOstTGM I feel uncomfortable with floating points representing pixels. Have you ever had problems with OpenGL and floating point values, like passing them to shaders, or texture coordinates?
🗪
1:03:06LOstTGM I feel uncomfortable with floating points representing pixels. Have you ever had problems with OpenGL and floating point values, like passing them to shaders, or texture coordinates?
🗪
1:03:06LOstTGM I feel uncomfortable with floating points representing pixels. Have you ever had problems with OpenGL and floating point values, like passing them to shaders, or texture coordinates?
🗪
1:05:25AdiAdiABXze Do you use any EBO (element buffer object) or VBO (vertex buffer object) in your OpenGL code? If no, why?
🗪
1:05:25AdiAdiABXze Do you use any EBO (element buffer object) or VBO (vertex buffer object) in your OpenGL code? If no, why?
🗪
1:05:25AdiAdiABXze Do you use any EBO (element buffer object) or VBO (vertex buffer object) in your OpenGL code? If no, why?
🗪
1:08:35LOstTGM Did you do your own glOrtho call when you set up the projection matrix? Also, thanks for all the matrix explanations
🗪
1:08:35LOstTGM Did you do your own glOrtho call when you set up the projection matrix? Also, thanks for all the matrix explanations
🗪
1:08:35LOstTGM Did you do your own glOrtho call when you set up the projection matrix? Also, thanks for all the matrix explanations
🗪
1:11:56Stream has ended
🗩
1:11:56Stream has ended
🗩
1:11:56Stream has ended
🗩