Handmade Hero»Episode Guide
Asynchronous Texture Downloads
?
?

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:03Welcome back
0:03Welcome back
0:03Welcome back
1:18Promote 4coder and discuss modal editing
1:18Promote 4coder and discuss modal editing
1:18Promote 4coder and discuss modal editing
10:42Recap and set the stage for the day
10:42Recap and set the stage for the day
10:42Recap and set the stage for the day
12:48Blackboard: Texture Downloads
12:48Blackboard: Texture Downloads
12:48Blackboard: Texture Downloads
15:14Blackboard: Thinking of the GPU memory like a cache
15:14Blackboard: Thinking of the GPU memory like a cache
15:14Blackboard: Thinking of the GPU memory like a cache
18:46Blackboard: Swizzling
18:46Blackboard: Swizzling
18:46Blackboard: Swizzling
19:24"CBAD, that's my rapper name"α
19:24"CBAD, that's my rapper name"α
19:24"CBAD, that's my rapper name"α
26:11Blackboard: Power of 2 textures and modern rectangular texture processing
26:11Blackboard: Power of 2 textures and modern rectangular texture processing
26:11Blackboard: Power of 2 textures and modern rectangular texture processing
29:12Blackboard: The problems with our current texture downloading scheme
29:12Blackboard: The problems with our current texture downloading scheme
29:12Blackboard: The problems with our current texture downloading scheme
33:59"Drivers and Windows. They conspire to "help" you"β
33:59"Drivers and Windows. They conspire to "help" you"β
33:59"Drivers and Windows. They conspire to "help" you"β
34:05Blackboard: Asset stores
34:05Blackboard: Asset stores
34:05Blackboard: Asset stores
37:18Blackboard: How the CPU asset store works
37:18Blackboard: How the CPU asset store works
37:18Blackboard: How the CPU asset store works
38:52Blackboard: The GPU asset store
38:52Blackboard: The GPU asset store
38:52Blackboard: The GPU asset store
42:00handmade.cpp: Return to the codebaseγ
42:00handmade.cpp: Return to the codebaseγ
42:00handmade.cpp: Return to the codebaseγ
42:05handmade_opengl.cpp: How our loading currently happens
42:05handmade_opengl.cpp: How our loading currently happens
42:05handmade_opengl.cpp: How our loading currently happens
44:14handmade_asset.cpp: Refresh our memories as to what LoadBitmap and LoadAssetWorkDirectly do
44:14handmade_asset.cpp: Refresh our memories as to what LoadBitmap and LoadAssetWorkDirectly do
44:14handmade_asset.cpp: Refresh our memories as to what LoadBitmap and LoadAssetWorkDirectly do
49:10handmade_opengl.cpp: Move glTex* calls to handmade_asset.cpp and consider holding the frame if we are not ready with the texture
49:10handmade_opengl.cpp: Move glTex* calls to handmade_asset.cpp and consider holding the frame if we are not ready with the texture
49:10handmade_opengl.cpp: Move glTex* calls to handmade_asset.cpp and consider holding the frame if we are not ready with the texture
51:07win32_handmade.cpp: Pull the pieces of the picture together
51:07win32_handmade.cpp: Pull the pieces of the picture together
51:07win32_handmade.cpp: Pull the pieces of the picture together
54:02win32_handmade.cpp: Call Win32CreateOpenGLContextForWorkerThread in ThreadProc
54:02win32_handmade.cpp: Call Win32CreateOpenGLContextForWorkerThread in ThreadProc
54:02win32_handmade.cpp: Call Win32CreateOpenGLContextForWorkerThread in ThreadProc
55:44win32_handmade.cpp: Introduce Win32CreateOpenGLContextForWorkerThread
55:44win32_handmade.cpp: Introduce Win32CreateOpenGLContextForWorkerThread
55:44win32_handmade.cpp: Introduce Win32CreateOpenGLContextForWorkerThread
1:02:18win32_handmade.cpp: Introduce struct win32_thread_startup
1:02:18win32_handmade.cpp: Introduce struct win32_thread_startup
1:02:18win32_handmade.cpp: Introduce struct win32_thread_startup
1:04:31win32_handmade.cpp: Pass Startup to Win32MakeQueue directly
1:04:31win32_handmade.cpp: Pass Startup to Win32MakeQueue directly
1:04:31win32_handmade.cpp: Pass Startup to Win32MakeQueue directly
1:06:19win32_handmade.cpp: Undo and introduce GlobalOpenGLRC and GlobalDC instead
1:06:19win32_handmade.cpp: Undo and introduce GlobalOpenGLRC and GlobalDC instead
1:06:19win32_handmade.cpp: Undo and introduce GlobalOpenGLRC and GlobalDC instead
1:11:13Run the game and see nothing
1:11:13Run the game and see nothing
1:11:13Run the game and see nothing
1:12:02win32_handmade.cpp: Add bool32 NeedsOpenGL to platform_work_queue
1:12:02win32_handmade.cpp: Add bool32 NeedsOpenGL to platform_work_queue
1:12:02win32_handmade.cpp: Add bool32 NeedsOpenGL to platform_work_queue
1:16:02Run the game and still see nothing
1:16:02Run the game and still see nothing
1:16:02Run the game and still see nothing
1:16:39handmade_platform.h: Add platform_allocate_texture and platform_deallocate_texture to platform_api and add their equivalent calls
1:16:39handmade_platform.h: Add platform_allocate_texture and platform_deallocate_texture to platform_api and add their equivalent calls
1:16:39handmade_platform.h: Add platform_allocate_texture and platform_deallocate_texture to platform_api and add their equivalent calls
1:20:03handmade_asset.cpp: Call Platform.AllocateTexture in the FinalizeAsset_Bitmap case
1:20:03handmade_asset.cpp: Call Platform.AllocateTexture in the FinalizeAsset_Bitmap case
1:20:03handmade_asset.cpp: Call Platform.AllocateTexture in the FinalizeAsset_Bitmap case
1:26:30win32_handmade.cpp: Write PLATFORM_DEALLOCATE_TEXURE
1:26:30win32_handmade.cpp: Write PLATFORM_DEALLOCATE_TEXURE
1:26:30win32_handmade.cpp: Write PLATFORM_DEALLOCATE_TEXURE
1:28:01"The stream actually hasn't ended..."δ
1:28:01"The stream actually hasn't ended..."δ
1:28:01"The stream actually hasn't ended..."δ
1:34:08handmade_asset.h: Add AssetType to asset_memory_header
1:34:08handmade_asset.h: Add AssetType to asset_memory_header
1:34:08handmade_asset.h: Add AssetType to asset_memory_header
1:39:56Run the game, see nothing and leave it at that
1:39:56Run the game, see nothing and leave it at that
1:39:56Run the game, see nothing and leave it at that
1:41:21Q&A
🗩
1:41:21Q&A
🗩
1:41:21Q&A
🗩
1:41:30Miblo Are we missing a Day in the episode guide? The guide only goes up to Day 242, but today's overlay was saying Day 244
🗪
1:41:30Miblo Are we missing a Day in the episode guide? The guide only goes up to Day 242, but today's overlay was saying Day 244
🗪
1:41:30Miblo Are we missing a Day in the episode guide? The guide only goes up to Day 242, but today's overlay was saying Day 244
🗪
1:42:39garryjohanson Is it possible to tell OpenGL which graphics card to use if you have more than one in a given machine?
🗪
1:42:39garryjohanson Is it possible to tell OpenGL which graphics card to use if you have more than one in a given machine?
🗪
1:42:39garryjohanson Is it possible to tell OpenGL which graphics card to use if you have more than one in a given machine?
🗪
1:45:26cubercaleb Is it really a good idea to keep the DC around forever? What if the user changes their monitor config while Handmade Hero is running?
🗪
1:45:26cubercaleb Is it really a good idea to keep the DC around forever? What if the user changes their monitor config while Handmade Hero is running?
🗪
1:45:26cubercaleb Is it really a good idea to keep the DC around forever? What if the user changes their monitor config while Handmade Hero is running?
🗪
1:46:07pragmascrypt Wouldn't the allocate and deallocate texture fit better in the opengl.cpp layer instead of the platform?
🗪
1:46:07pragmascrypt Wouldn't the allocate and deallocate texture fit better in the opengl.cpp layer instead of the platform?
🗪
1:46:07pragmascrypt Wouldn't the allocate and deallocate texture fit better in the opengl.cpp layer instead of the platform?
🗪
1:46:26handmade_opengl.cpp: Move PLATFORM_ALLOCATE_TEXTURE in from win32_handmade.cpp
1:46:26handmade_opengl.cpp: Move PLATFORM_ALLOCATE_TEXTURE in from win32_handmade.cpp
1:46:26handmade_opengl.cpp: Move PLATFORM_ALLOCATE_TEXTURE in from win32_handmade.cpp
1:46:53blah238 What is Microsoft's rationale for not allowing exclusive fullscreen mode for Universal Windows Platform games? Seems like that would just shoot themselves in the foot
🗪
1:46:53blah238 What is Microsoft's rationale for not allowing exclusive fullscreen mode for Universal Windows Platform games? Seems like that would just shoot themselves in the foot
🗪
1:46:53blah238 What is Microsoft's rationale for not allowing exclusive fullscreen mode for Universal Windows Platform games? Seems like that would just shoot themselves in the foot
🗪
1:48:19ezysigh Is there a way to preload vertices / normals / colors to the card in the same way as textures (e.g. before glDrawElements is called) or is that usually never an issue?
🗪
1:48:19ezysigh Is there a way to preload vertices / normals / colors to the card in the same way as textures (e.g. before glDrawElements is called) or is that usually never an issue?
🗪
1:48:19ezysigh Is there a way to preload vertices / normals / colors to the card in the same way as textures (e.g. before glDrawElements is called) or is that usually never an issue?
🗪
1:49:50ffsjs Could you invite Jeff to "supervise" and "micromanage" you while coding sometime?
🗪
1:49:50ffsjs Could you invite Jeff to "supervise" and "micromanage" you while coding sometime?
🗪
1:49:50ffsjs Could you invite Jeff to "supervise" and "micromanage" you while coding sometime?
🗪
1:50:54cubercaleb For 3D models isn't it typical to upload the mesh to the GPU once and write a shader that takes a transform matrix for drawing each model?
🗪
1:50:54cubercaleb For 3D models isn't it typical to upload the mesh to the GPU once and write a shader that takes a transform matrix for drawing each model?
🗪
1:50:54cubercaleb For 3D models isn't it typical to upload the mesh to the GPU once and write a shader that takes a transform matrix for drawing each model?
🗪
1:52:58ffsjs It was just for entertainment reasons, I wasn't implying anything else. Jeff saying: "you know, I really don't like the name of that "variable""
🗪
1:52:58ffsjs It was just for entertainment reasons, I wasn't implying anything else. Jeff saying: "you know, I really don't like the name of that "variable""
🗪
1:52:58ffsjs It was just for entertainment reasons, I wasn't implying anything else. Jeff saying: "you know, I really don't like the name of that "variable""
🗪
1:54:01cubercaleb How the heck do you even read code with one letter variables?
🗪
1:54:01cubercaleb How the heck do you even read code with one letter variables?
🗪
1:54:01cubercaleb How the heck do you even read code with one letter variables?
🗪
1:56:55ffsjs Thank you for the stream. We are not doing a good job asking relevant questions, obviously
🗪
1:56:55ffsjs Thank you for the stream. We are not doing a good job asking relevant questions, obviously
🗪
1:56:55ffsjs Thank you for the stream. We are not doing a good job asking relevant questions, obviously
🗪
1:57:59Wrap it up for now
🗩
1:57:59Wrap it up for now
🗩
1:57:59Wrap it up for now
🗩
1:58:34Promote 4coder
🗩
1:58:34Promote 4coder
🗩
1:58:34Promote 4coder
🗩