Handmade Hero»Episode Guide
Introduction to Depth Buffers
?
?

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:36Promote Handmade.Network's new "Submit a Project" functionality1
0:36Promote Handmade.Network's new "Submit a Project" functionality1
0:36Promote Handmade.Network's new "Submit a Project" functionality1
3:20Determine to fully finish the CLANG compatibility
3:20Determine to fully finish the CLANG compatibility
3:20Determine to fully finish the CLANG compatibility
4:23handmade_debug_interface.h: Cast the __FUNCTION__ to a char * in the TIMED_FUNCTION() macro, and close the issue
4:23handmade_debug_interface.h: Cast the __FUNCTION__ to a char * in the TIMED_FUNCTION() macro, and close the issue
4:23handmade_debug_interface.h: Cast the __FUNCTION__ to a char * in the TIMED_FUNCTION() macro, and close the issue
6:11A few words on compiler differences
6:11A few words on compiler differences
6:11A few words on compiler differences
8:02On engine programming and the licensing of the code
8:02On engine programming and the licensing of the code
8:02On engine programming and the licensing of the code
9:28Blackboard: 3D Update
9:28Blackboard: 3D Update
9:28Blackboard: 3D Update
12:06Blackboard: On the distastefulness of 2D regarding sorting and perspective
12:06Blackboard: On the distastefulness of 2D regarding sorting and perspective
12:06Blackboard: On the distastefulness of 2D regarding sorting and perspective
14:15Blackboard: Call the 2D renderer a failed experiment
14:15Blackboard: Call the 2D renderer a failed experiment
14:15Blackboard: Call the 2D renderer a failed experiment
14:50Run the game to take a look at what we've already got
14:50Run the game to take a look at what we've already got
14:50Run the game to take a look at what we've already got
16:36Blackboard: Surgery and engaging more with the 3D API, including shaders
16:36Blackboard: Surgery and engaging more with the 3D API, including shaders
16:36Blackboard: Surgery and engaging more with the 3D API, including shaders
21:41Blackboard: Sorting and overdraw
21:41Blackboard: Sorting and overdraw
21:41Blackboard: Sorting and overdraw
25:51Blackboard: On how sorting primitives becomes problematic
25:51Blackboard: On how sorting primitives becomes problematic
25:51Blackboard: On how sorting primitives becomes problematic
28:30Blackboard: Z-buffer or "Depth" buffer
28:30Blackboard: Z-buffer or "Depth" buffer
28:30Blackboard: Z-buffer or "Depth" buffer
32:19Blackboard: On the screen being a buffer to which we write RGBA values
32:19Blackboard: On the screen being a buffer to which we write RGBA values
32:19Blackboard: On the screen being a buffer to which we write RGBA values
35:45Blackboard: Augmenting the pixel data to include depth and stencil values
35:45Blackboard: Augmenting the pixel data to include depth and stencil values
35:45Blackboard: Augmenting the pixel data to include depth and stencil values
38:45Blackboard: Old Pixel Fill, Take #1
38:45Blackboard: Old Pixel Fill, Take #1
38:45Blackboard: Old Pixel Fill, Take #1
40:17Blackboard: Old Pixel Fill, Take #2
40:17Blackboard: Old Pixel Fill, Take #2
40:17Blackboard: Old Pixel Fill, Take #2
42:22Blackboard: New Pixel Fill, with the augmented pixel data
42:22Blackboard: New Pixel Fill, with the augmented pixel data
42:22Blackboard: New Pixel Fill, with the augmented pixel data
48:13Blackboard: "Pass" Comparisons before Blend
48:13Blackboard: "Pass" Comparisons before Blend
48:13Blackboard: "Pass" Comparisons before Blend
50:39Blackboard: Per-pixel sorting and order independence
50:39Blackboard: Per-pixel sorting and order independence
50:39Blackboard: Per-pixel sorting and order independence
54:44Blackboard: Stencil
54:44Blackboard: Stencil
54:44Blackboard: Stencil
59:40Blackboard: Caveat Emperor: Blend is not order independent for transparency
59:40Blackboard: Caveat Emperor: Blend is not order independent for transparency
59:40Blackboard: Caveat Emperor: Blend is not order independent for transparency
1:07:41Blackboard: Changing the blend equation to be order independent
1:07:41Blackboard: Changing the blend equation to be order independent
1:07:41Blackboard: Changing the blend equation to be order independent
1:10:26Blackboard: Framebuffer Atomics and Per-pixel Sorting
1:10:26Blackboard: Framebuffer Atomics and Per-pixel Sorting
1:10:26Blackboard: Framebuffer Atomics and Per-pixel Sorting
1:16:22Blackboard: Partitioning opaque and transparent objects
1:16:22Blackboard: Partitioning opaque and transparent objects
1:16:22Blackboard: Partitioning opaque and transparent objects
1:19:50Blackboard: Overdraw Still Matters!
1:19:50Blackboard: Overdraw Still Matters!
1:19:50Blackboard: Overdraw Still Matters!
1:24:47Blackboard: Z Prepass
1:24:47Blackboard: Z Prepass
1:24:47Blackboard: Z Prepass
1:28:40Blackboard: On the potential wasteage of GPU wide operations
1:28:40Blackboard: On the potential wasteage of GPU wide operations
1:28:40Blackboard: On the potential wasteage of GPU wide operations
1:31:38Q&A
🗩
1:31:38Q&A
🗩
1:31:38Q&A
🗩
1:31:52desuused Is it possible to use dithering (and possibly post-processing and super-resolution) for order independent transparency?
🗪
1:31:52desuused Is it possible to use dithering (and possibly post-processing and super-resolution) for order independent transparency?
🗪
1:31:52desuused Is it possible to use dithering (and possibly post-processing and super-resolution) for order independent transparency?
🗪
1:32:03Blackboard: Screen door effect
1:32:03Blackboard: Screen door effect
1:32:03Blackboard: Screen door effect
1:33:54wasenabled Per-pixel sorting on the graphics card. What, if any, software control is available via shaders, or is this just a hardware optimization that some graphics cards do behind the scenes to handle the opacity issue without a pre-filtered Z-buffer?
🗪
1:33:54wasenabled Per-pixel sorting on the graphics card. What, if any, software control is available via shaders, or is this just a hardware optimization that some graphics cards do behind the scenes to handle the opacity issue without a pre-filtered Z-buffer?
🗪
1:33:54wasenabled Per-pixel sorting on the graphics card. What, if any, software control is available via shaders, or is this just a hardware optimization that some graphics cards do behind the scenes to handle the opacity issue without a pre-filtered Z-buffer?
🗪
1:34:20Blackboard: The point of atomics
1:34:20Blackboard: The point of atomics
1:34:20Blackboard: The point of atomics
1:37:52anonymous519 What do you think of frame buffering like Vulkan's mailbox present mode to decouple the game update rate from the display device's refresh rate? You can render as many frames as you want, but only the most recently rendered frame is swapped in on vertical retrace
🗪
1:37:52anonymous519 What do you think of frame buffering like Vulkan's mailbox present mode to decouple the game update rate from the display device's refresh rate? You can render as many frames as you want, but only the most recently rendered frame is swapped in on vertical retrace
🗪
1:37:52anonymous519 What do you think of frame buffering like Vulkan's mailbox present mode to decouple the game update rate from the display device's refresh rate? You can render as many frames as you want, but only the most recently rendered frame is swapped in on vertical retrace
🗪
1:43:52zilarrezko Is it valid to render to sub-buffers and then render those sub-buffers to the back buffer so as to be able to render more than one sub-buffer at a time?
🗪
1:43:52zilarrezko Is it valid to render to sub-buffers and then render those sub-buffers to the back buffer so as to be able to render more than one sub-buffer at a time?
🗪
1:43:52zilarrezko Is it valid to render to sub-buffers and then render those sub-buffers to the back buffer so as to be able to render more than one sub-buffer at a time?
🗪
1:47:51nacre314 Do you feel you're still on the path to finishing the game in 600-ish episodes?
🗪
1:47:51nacre314 Do you feel you're still on the path to finishing the game in 600-ish episodes?
🗪
1:47:51nacre314 Do you feel you're still on the path to finishing the game in 600-ish episodes?
🗪
1:50:29dudeinbasement1 Do you find the weekends go by faster with streaming on them? And you have more time for 1935?
🗪
1:50:29dudeinbasement1 Do you find the weekends go by faster with streaming on them? And you have more time for 1935?
🗪
1:50:29dudeinbasement1 Do you find the weekends go by faster with streaming on them? And you have more time for 1935?
🗪
1:50:51anonymous519 What if I want my game to be deterministic, or what if my game does physics calculations and I need to update at a fixed rate for stability. Different people have different monitors with different refresh rates. Most people seem to then interpolate but this adds latency. Isn't mailboxing the better approach in this situation?
🗪
1:50:51anonymous519 What if I want my game to be deterministic, or what if my game does physics calculations and I need to update at a fixed rate for stability. Different people have different monitors with different refresh rates. Most people seem to then interpolate but this adds latency. Isn't mailboxing the better approach in this situation?
🗪
1:50:51anonymous519 What if I want my game to be deterministic, or what if my game does physics calculations and I need to update at a fixed rate for stability. Different people have different monitors with different refresh rates. Most people seem to then interpolate but this adds latency. Isn't mailboxing the better approach in this situation?
🗪
1:52:27zilarrezko Skip this if you'd like / explained it already: Could you explain Z-fighting and solving it as a problem?
🗪
1:52:27zilarrezko Skip this if you'd like / explained it already: Could you explain Z-fighting and solving it as a problem?
🗪
1:52:27zilarrezko Skip this if you'd like / explained it already: Could you explain Z-fighting and solving it as a problem?
🗪
1:53:10Wrap it up
🗩
1:53:10Wrap it up
🗩
1:53:10Wrap it up
🗩