OpenGL Context Escalation
?
?
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)
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, 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 CreditsIn-Menu Movement
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Quotes and References Menus
Enter Jump to timecodeQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Filter and Link Menus
z Toggle filter / linking modeCredits Menu
Enter Open URL (in new tab)⏫
Previous: 'OpenGL VSync and sRGB Extensions'
⏫
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:10:19Blackboard: sRGB
1:10:19Blackboard: sRGB
1:10:19Blackboard: sRGB
1:19:18Shut down now
🗩
1:19:18Shut down now
🗩
1:19:18Shut down now
🗩
⏬
Next: 'Asynchronous Texture Downloads'
⏬