Handmade Hero»Episode Guide
Moving Away from Multiple OpenGL Contexts
?
?

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:13Recap and consult the issues list1
0:13Recap and consult the issues list1
0:13Recap and consult the issues list1
4:34Run the game, demo our current situation and determine to fix the "PackEntityIntoChunk linked list bug" issue
4:34Run the game, demo our current situation and determine to fix the "PackEntityIntoChunk linked list bug" issue
4:34Run the game, demo our current situation and determine to fix the "PackEntityIntoChunk linked list bug" issue
5:31handmade_world.cpp: Tweak the linked list in PackEntityIntoChunk()
5:31handmade_world.cpp: Tweak the linked list in PackEntityIntoChunk()
5:31handmade_world.cpp: Tweak the linked list in PackEntityIntoChunk()
7:37Run the game, close this issue and determine to fix the "Wrong MetersToPixels" one
7:37Run the game, close this issue and determine to fix the "Wrong MetersToPixels" one
7:37Run the game, close this issue and determine to fix the "Wrong MetersToPixels" one
11:04Blackboard: MetersToPixels
11:04Blackboard: MetersToPixels
11:04Blackboard: MetersToPixels
13:10handmade_world.mode.cpp: Make UpdateAndRenderWorld() compute MetersToPixels oppositely and tweak the camera values
13:10handmade_world.mode.cpp: Make UpdateAndRenderWorld() compute MetersToPixels oppositely and tweak the camera values
13:10handmade_world.mode.cpp: Make UpdateAndRenderWorld() compute MetersToPixels oppositely and tweak the camera values
17:15handmade_opengl.cpp: Toggle on the debug outlines, run the game and tweak those camera values
17:15handmade_opengl.cpp: Toggle on the debug outlines, run the game and tweak those camera values
17:15handmade_opengl.cpp: Toggle on the debug outlines, run the game and tweak those camera values
19:23Consider that issue fixed and determine to fix the "Asynchronous Texture Downloads" one
19:23Consider that issue fixed and determine to fix the "Asynchronous Texture Downloads" one
19:23Consider that issue fixed and determine to fix the "Asynchronous Texture Downloads" one
22:05handmade_opengl.cpp: Describe how the AllocateTexture works
22:05handmade_opengl.cpp: Describe how the AllocateTexture works
22:05handmade_opengl.cpp: Describe how the AllocateTexture works
23:29handmade_opengl.cpp: Remove the glFlush call, run the game and see that it kind of works on an AMD GPU
23:29handmade_opengl.cpp: Remove the glFlush call, run the game and see that it kind of works on an AMD GPU
23:29handmade_opengl.cpp: Remove the glFlush call, run the game and see that it kind of works on an AMD GPU
25:57win32_handmade.cpp: Consider the problem with the OpenGL multithreaded stuff
25:57win32_handmade.cpp: Consider the problem with the OpenGL multithreaded stuff
25:57win32_handmade.cpp: Consider the problem with the OpenGL multithreaded stuff
27:30Blackboard: How the texture currently gets moved to the GPU
27:30Blackboard: How the texture currently gets moved to the GPU
27:30Blackboard: How the texture currently gets moved to the GPU
29:53Blackboard: Using pinned memory to streamline the transfer into texture memory
29:53Blackboard: Using pinned memory to streamline the transfer into texture memory
29:53Blackboard: Using pinned memory to streamline the transfer into texture memory
33:52handmade_opengl.cpp: Introduce OpenGLManageTextures() in order to defer the AllocateTexture and DeallocateTexture
33:52handmade_opengl.cpp: Introduce OpenGLManageTextures() in order to defer the AllocateTexture and DeallocateTexture
33:52handmade_opengl.cpp: Introduce OpenGLManageTextures() in order to defer the AllocateTexture and DeallocateTexture
35:40Blackboard: Deferring the texture download
35:40Blackboard: Deferring the texture download
35:40Blackboard: Deferring the texture download
36:16handmade_render.h: Introduce texture_op, texture_op_allocate and texture_op_deallocate structs
36:16handmade_render.h: Introduce texture_op, texture_op_allocate and texture_op_deallocate structs
36:16handmade_render.h: Introduce texture_op, texture_op_allocate and texture_op_deallocate structs
38:46"I find that concurrency is one thing, but flow control is really the harder thing"α
38:46"I find that concurrency is one thing, but flow control is really the harder thing"α
38:46"I find that concurrency is one thing, but flow control is really the harder thing"α
40:10handmade_asset.cpp: Consider how better to set the TextureHandle in LoadAssetWorkDirectly()
40:10handmade_asset.cpp: Consider how better to set the TextureHandle in LoadAssetWorkDirectly()
40:10handmade_asset.cpp: Consider how better to set the TextureHandle in LoadAssetWorkDirectly()
42:15handmade_render.h: Add ResultHandle to texture_op_allocate and Handle to texture_op_deallocate to enable us to ensure that the asset stays around long enough for the allocate call to complete
42:15handmade_render.h: Add ResultHandle to texture_op_allocate and Handle to texture_op_deallocate to enable us to ensure that the asset stays around long enough for the allocate call to complete
42:15handmade_render.h: Add ResultHandle to texture_op_allocate and Handle to texture_op_deallocate to enable us to ensure that the asset stays around long enough for the allocate call to complete
43:49handmade_opengl.cpp: Make OpenGLManageTextures() loop through the textures and allocate / deallocate them as required
43:49handmade_opengl.cpp: Make OpenGLManageTextures() loop through the textures and allocate / deallocate them as required
43:49handmade_opengl.cpp: Make OpenGLManageTextures() loop through the textures and allocate / deallocate them as required
46:35handmade_opengl.cpp: Introduce OpenGLAllocateTexture()
46:35handmade_opengl.cpp: Introduce OpenGLAllocateTexture()
46:35handmade_opengl.cpp: Introduce OpenGLAllocateTexture()
49:15A few words on producers and consumers, and ticket taking
49:15A few words on producers and consumers, and ticket taking
49:15A few words on producers and consumers, and ticket taking
51:22handmade_asset.cpp: Consider doing some general cleanup and removing the asset lock
51:22handmade_asset.cpp: Consider doing some general cleanup and removing the asset lock
51:22handmade_asset.cpp: Consider doing some general cleanup and removing the asset lock
53:03handmade_asset.cpp: Introduce AddOp() with a view to implementing it tomorrow
53:03handmade_asset.cpp: Introduce AddOp() with a view to implementing it tomorrow
53:03handmade_asset.cpp: Introduce AddOp() with a view to implementing it tomorrow
55:27Run the game and see that we're in no man's land
55:27Run the game and see that we're in no man's land
55:27Run the game and see that we're in no man's land
55:42Q&A
🗩
55:42Q&A
🗩
55:42Q&A
🗩
56:51thesizik It's a bit late now, but I was thinking debug sliders for FOV and camera distance could be useful
🗪
56:51thesizik It's a bit late now, but I was thinking debug sliders for FOV and camera distance could be useful
🗪
56:51thesizik It's a bit late now, but I was thinking debug sliders for FOV and camera distance could be useful
🗪
57:45snoringtortoise On the bug list, what is that Clang compatibility issue? I'm working on a Macbook using LLVM, so may be able to work it out
🗪
57:45snoringtortoise On the bug list, what is that Clang compatibility issue? I'm working on a Macbook using LLVM, so may be able to work it out
🗪
57:45snoringtortoise On the bug list, what is that Clang compatibility issue? I'm working on a Macbook using LLVM, so may be able to work it out
🗪
1:00:49erdomina I still see flickering on the stairs. Is the sort solution finalized?
🗪
1:00:49erdomina I still see flickering on the stairs. Is the sort solution finalized?
🗪
1:00:49erdomina I still see flickering on the stairs. Is the sort solution finalized?
🗪
1:01:54omnitechnomancer Is the issue list private?
🗪
1:01:54omnitechnomancer Is the issue list private?
🗪
1:01:54omnitechnomancer Is the issue list private?
🗪
1:02:36zilarrezko Would you normally skip straight to OpenGL or hardware acceleration, or would you start with software rendering?
🗪
1:02:36zilarrezko Would you normally skip straight to OpenGL or hardware acceleration, or would you start with software rendering?
🗪
1:02:36zilarrezko Would you normally skip straight to OpenGL or hardware acceleration, or would you start with software rendering?
🗪
1:03:18snoringtortoise In terms of asynchronous textures loading, the OpenGL website talks about pixel transfer operations and references glPixelStore. Did you look into these?2
🗪
1:03:18snoringtortoise In terms of asynchronous textures loading, the OpenGL website talks about pixel transfer operations and references glPixelStore. Did you look into these?2
🗪
1:03:18snoringtortoise In terms of asynchronous textures loading, the OpenGL website talks about pixel transfer operations and references glPixelStore. Did you look into these?2
🗪
1:06:22omnitechnomancer Is that persistent texture mapping?3
🗪
1:06:22omnitechnomancer Is that persistent texture mapping?3
🗪
1:06:22omnitechnomancer Is that persistent texture mapping?3
🗪
1:09:24lucid_frost I saw the tweet by Sean Barrett about the Vulkan API vs the OpenGL API. What are the main flaws in the OpenGL API?
🗪
1:09:24lucid_frost I saw the tweet by Sean Barrett about the Vulkan API vs the OpenGL API. What are the main flaws in the OpenGL API?
🗪
1:09:24lucid_frost I saw the tweet by Sean Barrett about the Vulkan API vs the OpenGL API. What are the main flaws in the OpenGL API?
🗪
1:11:52lucid_frost Tweet by Sean Barrett4
🗪
1:11:52lucid_frost Tweet by Sean Barrett4
🗪
1:11:52lucid_frost Tweet by Sean Barrett4
🗪
1:13:27Wrap it up
🗩
1:13:27Wrap it up
🗩
1:13:27Wrap it up
🗩