Handmade Hero»Episode Guide
Initializing OpenGL on Windows
?
?

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:53handmade.h: Consult the TODO list
0:53handmade.h: Consult the TODO list
0:53handmade.h: Consult the TODO list
4:02win32_handmade.cpp: Promote hardware acceleration to the top of the TODO list and embark on it
4:02win32_handmade.cpp: Promote hardware acceleration to the top of the TODO list and embark on it
4:02win32_handmade.cpp: Promote hardware acceleration to the top of the TODO list and embark on it
5:55Run the game and note the weird fade thing
5:55Run the game and note the weird fade thing
5:55Run the game and note the weird fade thing
6:58Set the stage for OpenGl
6:58Set the stage for OpenGl
6:58Set the stage for OpenGl
8:33build.bat: Link to opengl32.lib
8:33build.bat: Link to opengl32.lib
8:33build.bat: Link to opengl32.lib
9:40win32_handmade.cpp: #include opengl32.h>
9:40win32_handmade.cpp: #include opengl32.h>
9:40win32_handmade.cpp: #include opengl32.h>
13:06win32_handmade.cpp: Introduce Win32InitOpenGL
13:06win32_handmade.cpp: Introduce Win32InitOpenGL
13:06win32_handmade.cpp: Introduce Win32InitOpenGL
15:30Blackboard: OpenGL on Windows
15:30Blackboard: OpenGL on Windows
15:30Blackboard: OpenGL on Windows
23:22Blackboard: "DC" -> Device Context
23:22Blackboard: "DC" -> Device Context
23:22Blackboard: "DC" -> Device Context
28:49win32_handmade.cpp Write Win32InitOpenGL
28:49win32_handmade.cpp Write Win32InitOpenGL
28:49win32_handmade.cpp Write Win32InitOpenGL
31:55win32_handmade.cpp: Disable Win32DisplayBufferInWindow
31:55win32_handmade.cpp: Disable Win32DisplayBufferInWindow
31:55win32_handmade.cpp: Disable Win32DisplayBufferInWindow
32:39win32_handmade.cpp: Insert some OpenGL in this function
32:39win32_handmade.cpp: Insert some OpenGL in this function
32:39win32_handmade.cpp: Insert some OpenGL in this function
37:28Run the game and note that "we have no such pink screen to speak of"α
37:28Run the game and note that "we have no such pink screen to speak of"α
37:28Run the game and note that "we have no such pink screen to speak of"α
37:49win32_handmade.cpp: Call Win32InitOpenGL, run the game and hit an InValidCodePath
37:49win32_handmade.cpp: Call Win32InitOpenGL, run the game and hit an InValidCodePath
37:49win32_handmade.cpp: Call Win32InitOpenGL, run the game and hit an InValidCodePath
38:28Internet: PIXELFORMATDESCRIPTOR1
38:28Internet: PIXELFORMATDESCRIPTOR1
38:28Internet: PIXELFORMATDESCRIPTOR1
44:08win32_handmade.cpp: Initialise this struct
44:08win32_handmade.cpp: Initialise this struct
44:08win32_handmade.cpp: Initialise this struct
56:19Q&A
🗩
56:19Q&A
🗩
56:19Q&A
🗩
56:29pragmascrypt Funny the pink didn't show up on the stream. OBS problem?
🗪
56:29pragmascrypt Funny the pink didn't show up on the stream. OBS problem?
🗪
56:29pragmascrypt Funny the pink didn't show up on the stream. OBS problem?
🗪
56:35Connor_Rentz We all just saw a black screen, not a pink screen...
🗪
56:35Connor_Rentz We all just saw a black screen, not a pink screen...
🗪
56:35Connor_Rentz We all just saw a black screen, not a pink screen...
🗪
57:03cubercaleb According to this you should use 32 for the ColorBit2
🗪
57:03cubercaleb According to this you should use 32 for the ColorBit2
🗪
57:03cubercaleb According to this you should use 32 for the ColorBit2
🗪
57:58garryjohanson Curious if the CPU or the GPU actually communicates the information to the screen. I feel you mentioned this, but I forgot
🗪
57:58garryjohanson Curious if the CPU or the GPU actually communicates the information to the screen. I feel you mentioned this, but I forgot
🗪
57:58garryjohanson Curious if the CPU or the GPU actually communicates the information to the screen. I feel you mentioned this, but I forgot
🗪
59:011213lac What are your thoughts about Vulkan?
🗪
59:011213lac What are your thoughts about Vulkan?
🗪
59:011213lac What are your thoughts about Vulkan?
🗪
59:14sssmcgrath If you're ever in the mood to do a straight-up unrelated tutorial stream, IO completion ports would be great cause I ain't reading about that ***
🗪
59:14sssmcgrath If you're ever in the mood to do a straight-up unrelated tutorial stream, IO completion ports would be great cause I ain't reading about that ***
🗪
59:14sssmcgrath If you're ever in the mood to do a straight-up unrelated tutorial stream, IO completion ports would be great cause I ain't reading about that ***
🗪
59:40ChaiLatteQuinoa What do you think of Nvidia GE Force does not clear memory?
🗪
59:40ChaiLatteQuinoa What do you think of Nvidia GE Force does not clear memory?
🗪
59:40ChaiLatteQuinoa What do you think of Nvidia GE Force does not clear memory?
🗪
59:54elxenoaizd Came in late. Do we have our own GL function pointers loaded now?
🗪
59:54elxenoaizd Came in late. Do we have our own GL function pointers loaded now?
🗪
59:54elxenoaizd Came in late. Do we have our own GL function pointers loaded now?
🗪
1:00:39insofaras Try a color other than pink? OBS might treat that as transparent
🗪
1:00:39insofaras Try a color other than pink? OBS might treat that as transparent
🗪
1:00:39insofaras Try a color other than pink? OBS might treat that as transparent
🗪
1:01:09slashac Do you know why they deprecate GL_ALPHA?
🗪
1:01:09slashac Do you know why they deprecate GL_ALPHA?
🗪
1:01:09slashac Do you know why they deprecate GL_ALPHA?
🗪
1:01:27Novynn You don't need the DescribePixelFormat call, since when you use ChoosePixelFormat it modifies your DesiredPixelFormat with the correct stuff
🗪
1:01:27Novynn You don't need the DescribePixelFormat call, since when you use ChoosePixelFormat it modifies your DesiredPixelFormat with the correct stuff
🗪
1:01:27Novynn You don't need the DescribePixelFormat call, since when you use ChoosePixelFormat it modifies your DesiredPixelFormat with the correct stuff
🗪
1:02:17cubercaleb Since we will have a depth buffer, does the Z-sort really matter anymore?
🗪
1:02:17cubercaleb Since we will have a depth buffer, does the Z-sort really matter anymore?
🗪
1:02:17cubercaleb Since we will have a depth buffer, does the Z-sort really matter anymore?
🗪
1:03:12Novynn My bad! Looks like OpenGL docs are lying to me again
🗪
1:03:12Novynn My bad! Looks like OpenGL docs are lying to me again
🗪
1:03:12Novynn My bad! Looks like OpenGL docs are lying to me again
🗪
1:03:22Ikkir_Isth Going to be doing multiple GL versions, or just the minimum for general Win XP machines? (What version are most of them even on anyway?)
🗪
1:03:22Ikkir_Isth Going to be doing multiple GL versions, or just the minimum for general Win XP machines? (What version are most of them even on anyway?)
🗪
1:03:22Ikkir_Isth Going to be doing multiple GL versions, or just the minimum for general Win XP machines? (What version are most of them even on anyway?)
🗪
1:04:08Snovind92 Would there be any benifit of using the new versions of OpenGL for a game like Handmade Hero?
🗪
1:04:08Snovind92 Would there be any benifit of using the new versions of OpenGL for a game like Handmade Hero?
🗪
1:04:08Snovind92 Would there be any benifit of using the new versions of OpenGL for a game like Handmade Hero?
🗪
1:04:30MadEqua Is there a difference when calling a function (like glClear()) on the opengl32.lib vs the one on the graphics driver dll?
🗪
1:04:30MadEqua Is there a difference when calling a function (like glClear()) on the opengl32.lib vs the one on the graphics driver dll?
🗪
1:04:30MadEqua Is there a difference when calling a function (like glClear()) on the opengl32.lib vs the one on the graphics driver dll?
🗪
1:04:46Blackboard: Code library vs Import library
1:04:46Blackboard: Code library vs Import library
1:04:46Blackboard: Code library vs Import library
1:06:36Quatzequatel Since we are using OpenGL, will you be modifying our 2.5D'ness or keep the code as is?
🗪
1:06:36Quatzequatel Since we are using OpenGL, will you be modifying our 2.5D'ness or keep the code as is?
🗪
1:06:36Quatzequatel Since we are using OpenGL, will you be modifying our 2.5D'ness or keep the code as is?
🗪
1:06:49evraire For ChoosePixelFormat() were we not supposed to specify iPixelType and set it to PFD_TYPE_RGBA?
🗪
1:06:49evraire For ChoosePixelFormat() were we not supposed to specify iPixelType and set it to PFD_TYPE_RGBA?
🗪
1:06:49evraire For ChoosePixelFormat() were we not supposed to specify iPixelType and set it to PFD_TYPE_RGBA?
🗪
1:07:27win32_handmade.cpp: Set DesiredPixelFormat.iPixelType
1:07:27win32_handmade.cpp: Set DesiredPixelFormat.iPixelType
1:07:27win32_handmade.cpp: Set DesiredPixelFormat.iPixelType
1:08:14angus_holder So by linking against opengl32.lib we don't need to use GetProcAddress at all with OpenGL?
🗪
1:08:14angus_holder So by linking against opengl32.lib we don't need to use GetProcAddress at all with OpenGL?
🗪
1:08:14angus_holder So by linking against opengl32.lib we don't need to use GetProcAddress at all with OpenGL?
🗪
1:08:56Blackboard: Dynamic link table
1:08:56Blackboard: Dynamic link table
1:08:56Blackboard: Dynamic link table
1:14:561213lac Since you are complaining about windows pretty often, why don't you use another operating system?
🗪
1:14:561213lac Since you are complaining about windows pretty often, why don't you use another operating system?
🗪
1:14:561213lac Since you are complaining about windows pretty often, why don't you use another operating system?
🗪
1:15:48MrSlick1015 Do you think for the OS X port will you need a wrapper written in Objective-C to get use OpenGL and make a window?
🗪
1:15:48MrSlick1015 Do you think for the OS X port will you need a wrapper written in Objective-C to get use OpenGL and make a window?
🗪
1:15:48MrSlick1015 Do you think for the OS X port will you need a wrapper written in Objective-C to get use OpenGL and make a window?
🗪
1:16:20garryjohanson This is probably dumb, but what about offloading much of the computing we are doing onto the GPU using OpenCL, then not use OpenGL and keep things mostly as is?
🗪
1:16:20garryjohanson This is probably dumb, but what about offloading much of the computing we are doing onto the GPU using OpenCL, then not use OpenGL and keep things mostly as is?
🗪
1:16:20garryjohanson This is probably dumb, but what about offloading much of the computing we are doing onto the GPU using OpenCL, then not use OpenGL and keep things mostly as is?
🗪
1:17:37cubercaleb Over the break I wrote a program that generates OpenGL function pointer declarations and initialization by scanning cpp/h files to determine what needs to be added. Do you plan on doing something similar for Handmade Hero or will you keep it simple?
🗪
1:17:37cubercaleb Over the break I wrote a program that generates OpenGL function pointer declarations and initialization by scanning cpp/h files to determine what needs to be added. Do you plan on doing something similar for Handmade Hero or will you keep it simple?
🗪
1:17:37cubercaleb Over the break I wrote a program that generates OpenGL function pointer declarations and initialization by scanning cpp/h files to determine what needs to be added. Do you plan on doing something similar for Handmade Hero or will you keep it simple?
🗪
1:17:54slashac How bad is an if statement in a shader?
🗪
1:17:54slashac How bad is an if statement in a shader?
🗪
1:17:54slashac How bad is an if statement in a shader?
🗪
1:18:13Vidster88 Have you ever programmed for a console?
🗪
1:18:13Vidster88 Have you ever programmed for a console?
🗪
1:18:13Vidster88 Have you ever programmed for a console?
🗪
1:18:42Longboolean Linux has windows vista beat
🗪
1:18:42Longboolean Linux has windows vista beat
🗪
1:18:42Longboolean Linux has windows vista beat
🗪
1:19:50Wind it down
🗩
1:19:50Wind it down
🗩
1:19:50Wind it down
🗩