1:58:37handmade_opengl.cpp: Make OpenGLRenderCommands() create the final GlobalResolveFramebuffer

1:58:37handmade_opengl.cpp: Make OpenGLRenderCommands() create the final GlobalResolveFramebuffer

1:58:37handmade_opengl.cpp: Make OpenGLRenderCommands() create the final GlobalResolveFramebuffer

2:02:34Run the game to admire the correct composite and then stretching

2:02:34Run the game to admire the correct composite and then stretching

2:02:34Run the game to admire the correct composite and then stretching

2:03:35win32_handmade.cpp: Draw to decreasingly smaller resolutions

2:03:35win32_handmade.cpp: Draw to decreasingly smaller resolutions

2:03:35win32_handmade.cpp: Draw to decreasingly smaller resolutions

2:05:58Run the game in pixel art modeα

2:05:58Run the game in pixel art modeα

2:05:58Run the game in pixel art modeα

2:07:04Q&A

🗩

2:07:04Q&A

🗩

2:07:04Q&A

🗩

2:07:36naysayer88 OpenGL sucks

🗪

2:07:36naysayer88 OpenGL sucks

🗪

2:07:36naysayer88 OpenGL sucks

🗪

2:10:56naysayer88 The problem is there is no way for me to know what the "good API" is any more...

🗪

2:10:56naysayer88 The problem is there is no way for me to know what the "good API" is any more...

🗪

2:10:56naysayer88 The problem is there is no way for me to know what the "good API" is any more...

🗪

2:14:30jezzi23 In Win32InitOpenGL(), why do you use two different forms for assigning modern OpenGL function pointers, i.e. using Win32GetOpenGLFunction(Name) macro for some but assigning others directly?

🗪

2:14:30jezzi23 In Win32InitOpenGL(), why do you use two different forms for assigning modern OpenGL function pointers, i.e. using Win32GetOpenGLFunction(Name) macro for some but assigning others directly?

🗪

2:14:30jezzi23 In Win32InitOpenGL(), why do you use two different forms for assigning modern OpenGL function pointers, i.e. using Win32GetOpenGLFunction(Name) macro for some but assigning others directly?

🗪

2:15:01serialqwiller Just so you know, your stream no longer shows up in either the "Game Development" or "Programming" categories on twitch. It's almost a hidden stream now just for those who already followed

🗪

2:15:01serialqwiller Just so you know, your stream no longer shows up in either the "Game Development" or "Programming" categories on twitch. It's almost a hidden stream now just for those who already followed

🗪

2:15:01serialqwiller Just so you know, your stream no longer shows up in either the "Game Development" or "Programming" categories on twitch. It's almost a hidden stream now just for those who already followed

🗪

2:16:10nyeecola I tried your anonymous union and structs trick and the compiler (g++) screams at me saying I need some label in the struct name to conform to the standard. So I looked it up on google and it appears to be undefined behavior to use this trick. Should I be afraid of that?

🗪

2:16:10nyeecola I tried your anonymous union and structs trick and the compiler (g++) screams at me saying I need some label in the struct name to conform to the standard. So I looked it up on google and it appears to be undefined behavior to use this trick. Should I be afraid of that?

🗪

2:16:10nyeecola I tried your anonymous union and structs trick and the compiler (g++) screams at me saying I need some label in the struct name to conform to the standard. So I looked it up on google and it appears to be undefined behavior to use this trick. Should I be afraid of that?

🗪

2:19:56soysaucethekid The cursor always seems to be on the loading(?) icon. Is there a way to fix that? (I'm running into this issue and am not sure if there is some windows message I need to process)

🗪

2:19:56soysaucethekid The cursor always seems to be on the loading(?) icon. Is there a way to fix that? (I'm running into this issue and am not sure if there is some windows message I need to process)

🗪

2:19:56soysaucethekid The cursor always seems to be on the loading(?) icon. Is there a way to fix that? (I'm running into this issue and am not sure if there is some windows message I need to process)

🗪

2:20:18win32_handmade.cpp: Try to stop the wait cursor displaying once we have finished loading

2:20:18win32_handmade.cpp: Try to stop the wait cursor displaying once we have finished loading

2:20:18win32_handmade.cpp: Try to stop the wait cursor displaying once we have finished loading

2:28:38fr0styninja You can set the cursor on the WNDCLASS struct .hCursor = LoadCursor(0, IDC_ARROW);

🗪

2:28:38fr0styninja You can set the cursor on the WNDCLASS struct .hCursor = LoadCursor(0, IDC_ARROW);

🗪

2:28:38fr0styninja You can set the cursor on the WNDCLASS struct .hCursor = LoadCursor(0, IDC_ARROW);

🗪

2:30:06nyeecola You said on one stream that you don't need header guards because you have only one translation unit. I guess you meant that you're sure you only include each header once? Because even if you only have one translation unit you still can have problems if you include the same header twice

🗪

2:30:06nyeecola You said on one stream that you don't need header guards because you have only one translation unit. I guess you meant that you're sure you only include each header once? Because even if you only have one translation unit you still can have problems if you include the same header twice

🗪

2:30:06nyeecola You said on one stream that you don't need header guards because you have only one translation unit. I guess you meant that you're sure you only include each header once? Because even if you only have one translation unit you still can have problems if you include the same header twice

🗪

2:31:37nyeecola Multiple anonymous unions inside one struct, is that allowed?

🗪

2:31:37nyeecola Multiple anonymous unions inside one struct, is that allowed?

🗪

2:31:37nyeecola Multiple anonymous unions inside one struct, is that allowed?