Handmade Hero»Episode Guide
OpenGL Context Escalation
?
?

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: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
3:41Run the game and point out that we experience a pause while textures get loaded in
3:41Run the game and point out that we experience a pause while textures get loaded in
3:41Run the game and point out that we experience a pause while textures get loaded in
7:19win32_handmade.cpp: Clean up and consult the TODO list
7:19win32_handmade.cpp: Clean up and consult the TODO list
7:19win32_handmade.cpp: Clean up and consult the TODO list
7:36win32_handmade.cpp: On checking for OpenGL extension strings
7:36win32_handmade.cpp: On checking for OpenGL extension strings
7:36win32_handmade.cpp: On checking for OpenGL extension strings
9:07handmade_opengl.cpp: Move the GL_ defines in from win32_handmade.cpp and introduce OpenGLGetInfo
9:07handmade_opengl.cpp: Move the GL_ defines in from win32_handmade.cpp and introduce OpenGLGetInfo
9:07handmade_opengl.cpp: Move the GL_ defines in from win32_handmade.cpp and introduce OpenGLGetInfo
17:31Run the game and inspect our opengl_info
17:31Run the game and inspect our opengl_info
17:31Run the game and inspect our opengl_info
19:03handmade_opengl.cpp: Parse the available extensions and compare them with our requirements
19:03handmade_opengl.cpp: Parse the available extensions and compare them with our requirements
19:03handmade_opengl.cpp: Parse the available extensions and compare them with our requirements
22:32handmade.h: Write a new version of StringsAreEqual
22:32handmade.h: Write a new version of StringsAreEqual
22:32handmade.h: Write a new version of StringsAreEqual
23:31handmade_opengl.cpp: Use StringsAreEqual to continue with the extension comparison
23:31handmade_opengl.cpp: Use StringsAreEqual to continue with the extension comparison
23:31handmade_opengl.cpp: Use StringsAreEqual to continue with the extension comparison
29:17Debugger: Inspect the Extensions string
29:17Debugger: Inspect the Extensions string
29:17Debugger: Inspect the Extensions string
33:14Debugger: Run through OpenGLGetInfo and see what the parser is doing
33:14Debugger: Run through OpenGLGetInfo and see what the parser is doing
33:14Debugger: Run through OpenGLGetInfo and see what the parser is doing
35:06handmade_opengl.cpp: Introduce OpenGLInit
35:06handmade_opengl.cpp: Introduce OpenGLInit
35:06handmade_opengl.cpp: Introduce OpenGLInit
37:06Context escalation
37:06Context escalation
37:06Context escalation
42:19Internet: WGL_ARB_create_context1
42:19Internet: WGL_ARB_create_context1
42:19Internet: WGL_ARB_create_context1
44:53win32_handmade.cpp: typedef and use wglCreateContextAttribsARB to check which OpenGL context we're on
44:53win32_handmade.cpp: typedef and use wglCreateContextAttribsARB to check which OpenGL context we're on
44:53win32_handmade.cpp: typedef and use wglCreateContextAttribsARB to check which OpenGL context we're on
53:33Debugger: Step into wglCreateContextAttribsARB and see if it works
53:33Debugger: Step into wglCreateContextAttribsARB and see if it works
53:33Debugger: Step into wglCreateContextAttribsARB and see if it works
59:33"And now it's like Mr. Doesn't-Want-To-Do-That-For-Me"α
59:33"And now it's like Mr. Doesn't-Want-To-Do-That-For-Me"α
59:33"And now it's like Mr. Doesn't-Want-To-Do-That-For-Me"α
1:00:04handmade_opengl.cpp: #define GL_SHADING_LANGUAGE_VERSION and use it in OpenGLGetInfo
1:00:04handmade_opengl.cpp: #define GL_SHADING_LANGUAGE_VERSION and use it in OpenGLGetInfo
1:00:04handmade_opengl.cpp: #define GL_SHADING_LANGUAGE_VERSION and use it in OpenGLGetInfo
1:01:27Debugger: Step into OpenGLGetInfo and inspect the ShadingLanguageVersion
1:01:27Debugger: Step into OpenGLGetInfo and inspect the ShadingLanguageVersion
1:01:27Debugger: Step into OpenGLGetInfo and inspect the ShadingLanguageVersion
1:02:04Q&A
🗩
1:02:04Q&A
🗩
1:02:04Q&A
🗩
1:02:46Ikkir_Isth Looking at winXP and cards, looks like they need GL 2.0 as the 'max' they can support, more or less (if you use era cards)
🗪
1:02:46Ikkir_Isth Looking at winXP and cards, looks like they need GL 2.0 as the 'max' they can support, more or less (if you use era cards)
🗪
1:02:46Ikkir_Isth Looking at winXP and cards, looks like they need GL 2.0 as the 'max' they can support, more or less (if you use era cards)
🗪
1:03:23Razoul05 In the function OpenGLGetInfo why did you do an "#if 0 ... #else ... #endif" rather than just commenting it out?
🗪
1:03:23Razoul05 In the function OpenGLGetInfo why did you do an "#if 0 ... #else ... #endif" rather than just commenting it out?
🗪
1:03:23Razoul05 In the function OpenGLGetInfo why did you do an "#if 0 ... #else ... #endif" rather than just commenting it out?
🗪
1:03:52insofaras For sRGB do you also have to set WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB when you choose the pixel format or is that something different?2
🗪
1:03:52insofaras For sRGB do you also have to set WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB when you choose the pixel format or is that something different?2
🗪
1:03:52insofaras For sRGB do you also have to set WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB when you choose the pixel format or is that something different?2
🗪
1:09:22Kelimion From connor_rentz (just left): What is umm data type and what is it used for? I will watch the recording
🗪
1:09:22Kelimion From connor_rentz (just left): What is umm data type and what is it used for? I will watch the recording
🗪
1:09:22Kelimion From connor_rentz (just left): What is umm data type and what is it used for? I will watch the recording
🗪
1:09:47Razoul05 Yes, that's what I was talking about. I didn't notice you did more there
🗪
1:09:47Razoul05 Yes, that's what I was talking about. I didn't notice you did more there
🗪
1:09:47Razoul05 Yes, that's what I was talking about. I didn't notice you did more there
🗪
1:09:51Cynokron What's the difference between sRGB and RGBA?
🗪
1:09:51Cynokron What's the difference between sRGB and RGBA?
🗪
1:09:51Cynokron What's the difference between sRGB and RGBA?
🗪
1:10:19Blackboard: sRGB
1:10:19Blackboard: sRGB
1:10:19Blackboard: sRGB
1:16:58andsz_ I just checked my Dell monitor. It has Adobe RGB as well as sRGB modes and they look fairly different. So what's the better one?
🗪
1:16:58andsz_ I just checked my Dell monitor. It has Adobe RGB as well as sRGB modes and they look fairly different. So what's the better one?
🗪
1:16:58andsz_ I just checked my Dell monitor. It has Adobe RGB as well as sRGB modes and they look fairly different. So what's the better one?
🗪
1:18:34garlandobloom I've heard a lot of monitors aren't even really 32-bit color. Sometimes less with dithering in the monitor
🗪
1:18:34garlandobloom I've heard a lot of monitors aren't even really 32-bit color. Sometimes less with dithering in the monitor
🗪
1:18:34garlandobloom I've heard a lot of monitors aren't even really 32-bit color. Sometimes less with dithering in the monitor
🗪
1:19:18Shut down now
🗩
1:19:18Shut down now
🗩
1:19:18Shut down now
🗩