Sorting Render Elements
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
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 and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

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:25Recap and set the stage for the day
0:25Recap and set the stage for the day
0:25Recap and set the stage for the day
1:28Run the game and hit an assertion
1:28Run the game and hit an assertion
1:28Run the game and hit an assertion
2:33handmade_world_mode.cpp: Turn off FillGroundChunk
2:33handmade_world_mode.cpp: Turn off FillGroundChunk
2:33handmade_world_mode.cpp: Turn off FillGroundChunk
3:07Run the game and note the lack of sprite sorting
3:07Run the game and note the lack of sprite sorting
3:07Run the game and note the lack of sprite sorting
4:34handmade_world_mode.cpp: Turn FillGroundChunk back on and note that we need some room in which to do the sorting
4:34handmade_world_mode.cpp: Turn FillGroundChunk back on and note that we need some room in which to do the sorting
4:34handmade_world_mode.cpp: Turn FillGroundChunk back on and note that we need some room in which to do the sorting
5:29Debugger: Step into AllocateRenderGroup
5:29Debugger: Step into AllocateRenderGroup
5:29Debugger: Step into AllocateRenderGroup
6:45handmade.cpp: Increase the amount of memory allocated to this TranState
6:45handmade.cpp: Increase the amount of memory allocated to this TranState
6:45handmade.cpp: Increase the amount of memory allocated to this TranState
7:04Debugger: Step into BeginRender and inspect Work->Task->Arena
7:04Debugger: Step into BeginRender and inspect Work->Task->Arena
7:04Debugger: Step into BeginRender and inspect Work->Task->Arena
8:03handmade_world_mode.cpp: Make RenderGroup use 512KB
8:03handmade_world_mode.cpp: Make RenderGroup use 512KB
8:03handmade_world_mode.cpp: Make RenderGroup use 512KB
10:39Blackboard: Render Sorting
10:39Blackboard: Render Sorting
10:39Blackboard: Render Sorting
13:56Blackboard: Sort buffer
13:56Blackboard: Sort buffer
13:56Blackboard: Sort buffer
15:12Blackboard: Producing the sort key
15:12Blackboard: Producing the sort key
15:12Blackboard: Producing the sort key
19:01"For the love of god, Mischief"α
19:01"For the love of god, Mischief"α
19:01"For the love of god, Mischief"α
20:03handmade_render_group.cpp: Consider how to sort
20:03handmade_render_group.cpp: Consider how to sort
20:03handmade_render_group.cpp: Consider how to sort
22:09handmade_render_group.cpp: Find the PushBufferOffset for each Entry in RenderGroupToOutput, and make the function take SortEntryCount and *SortEntries
22:09handmade_render_group.cpp: Find the PushBufferOffset for each Entry in RenderGroupToOutput, and make the function take SortEntryCount and *SortEntries
22:09handmade_render_group.cpp: Find the PushBufferOffset for each Entry in RenderGroupToOutput, and make the function take SortEntryCount and *SortEntries
25:29Blackboard: How we're currently rendering the screen
25:29Blackboard: How we're currently rendering the screen
25:29Blackboard: How we're currently rendering the screen
26:25Consider how best to do this sort
26:25Consider how best to do this sort
26:25Consider how best to do this sort
28:37handmade_render_group.h: Add u32 SortEntryAt to render_group
28:37handmade_render_group.h: Add u32 SortEntryAt to render_group
28:37handmade_render_group.h: Add u32 SortEntryAt to render_group
29:03handmade_render_group.cpp: Set that SortEntryAt in AllocateRenderGroup and use it in PushRenderElement_
29:03handmade_render_group.cpp: Set that SortEntryAt in AllocateRenderGroup and use it in PushRenderElement_
29:03handmade_render_group.cpp: Set that SortEntryAt in AllocateRenderGroup and use it in PushRenderElement_
30:16Blackboard: Pushing entries on from the top and sorts on from the bottom
30:16Blackboard: Pushing entries on from the top and sorts on from the bottom
30:16Blackboard: Pushing entries on from the top and sorts on from the bottom
30:57handmade_render_group.cpp: Implement these pushes, and make PushRenderElement_ take r32 SortKey
30:57handmade_render_group.cpp: Implement these pushes, and make PushRenderElement_ take r32 SortKey
30:57handmade_render_group.cpp: Implement these pushes, and make PushRenderElement_ take r32 SortKey
33:11handmade_render_group.cpp: Clean up compile errors and propagate the SortKey
33:11handmade_render_group.cpp: Clean up compile errors and propagate the SortKey
33:11handmade_render_group.cpp: Clean up compile errors and propagate the SortKey
38:39Run the game and see that it isn't quite right
38:39Run the game and see that it isn't quite right
38:39Run the game and see that it isn't quite right
39:40handmade_render_group.cpp: Reverse the sorting order
39:40handmade_render_group.cpp: Reverse the sorting order
39:40handmade_render_group.cpp: Reverse the sorting order
40:09Run the game and see that it is now correct
40:09Run the game and see that it is now correct
40:09Run the game and see that it is now correct
40:20Blackboard: The Clear was happening last, after rendering everything
40:20Blackboard: The Clear was happening last, after rendering everything
40:20Blackboard: The Clear was happening last, after rendering everything
41:05handmade_render_group.cpp: Introduce SortEntries
41:05handmade_render_group.cpp: Introduce SortEntries
41:05handmade_render_group.cpp: Introduce SortEntries
43:13Blackboard: Bubble Sort
43:13Blackboard: Bubble Sort
43:13Blackboard: Bubble Sort
47:36handmade_render_group.cpp: Implement SortEntries as a Bubble Sort
47:36handmade_render_group.cpp: Implement SortEntries as a Bubble Sort
47:36handmade_render_group.cpp: Implement SortEntries as a Bubble Sort
50:47Run the game and see that it might actually be right
50:47Run the game and see that it might actually be right
50:47Run the game and see that it might actually be right
51:51handmade_world_mode.cpp: Give the GroundBuffer some zBias
51:51handmade_world_mode.cpp: Give the GroundBuffer some zBias
51:51handmade_world_mode.cpp: Give the GroundBuffer some zBias
52:48handmade_world_mode.cpp: Turn off the GroundBuffer for now
52:48handmade_world_mode.cpp: Turn off the GroundBuffer for now
52:48handmade_world_mode.cpp: Turn off the GroundBuffer for now
53:08Run the game and see that the sorting is working properly
53:08Run the game and see that the sorting is working properly
53:08Run the game and see that the sorting is working properly
53:59handmade_world_mode.cpp: Increase the zBias and then apply the bias in the correct place
53:59handmade_world_mode.cpp: Increase the zBias and then apply the bias in the correct place
53:59handmade_world_mode.cpp: Increase the zBias and then apply the bias in the correct place
56:00Run the game and see that it all works correctly now (apart from the torso being in front all the time)
56:00Run the game and see that it all works correctly now (apart from the torso being in front all the time)
56:00Run the game and see that it all works correctly now (apart from the torso being in front all the time)
56:28Q&A
🗩
56:28Q&A
🗩
56:28Q&A
🗩
57:20@Danyguag Do you know the Vulkan release date?
🗪
57:20@Danyguag Do you know the Vulkan release date?
🗪
57:20@Danyguag Do you know the Vulkan release date?
🗪
57:56@insobot Well?
🗪
57:56@insobot Well?
🗪
57:56@insobot Well?
🗪
58:09@grimjoey Can you talk about pros and cons of heapsort and quicksort, and / or explain quaternions?
🗪
58:09@grimjoey Can you talk about pros and cons of heapsort and quicksort, and / or explain quaternions?
🗪
58:09@grimjoey Can you talk about pros and cons of heapsort and quicksort, and / or explain quaternions?
🗪
59:03@evraire Which sort are you planning to ultimately replace bubble sort with?
🗪
59:03@evraire Which sort are you planning to ultimately replace bubble sort with?
🗪
59:03@evraire Which sort are you planning to ultimately replace bubble sort with?
🗪
59:59@Miblo Bubble Sort is the simplest sort? I worked my way to doing a Selection Sort in my practices, so assume that must be down there for simplicity
🗪
59:59@Miblo Bubble Sort is the simplest sort? I worked my way to doing a Selection Sort in my practices, so assume that must be down there for simplicity
🗪
59:59@Miblo Bubble Sort is the simplest sort? I worked my way to doing a Selection Sort in my practices, so assume that must be down there for simplicity
🗪
1:00:41@quikligames n^2 is actually faster in most cases?
🗪
1:00:41@quikligames n^2 is actually faster in most cases?
🗪
1:00:41@quikligames n^2 is actually faster in most cases?
🗪
1:02:21@angus_holder Can't you just use binary insertion to put items into their correct position so the array is sorted the whole time? That way RenderGroupToOutput doesn't have to do anything
🗪
1:02:21@angus_holder Can't you just use binary insertion to put items into their correct position so the array is sorted the whole time? That way RenderGroupToOutput doesn't have to do anything
🗪
1:02:21@angus_holder Can't you just use binary insertion to put items into their correct position so the array is sorted the whole time? That way RenderGroupToOutput doesn't have to do anything
🗪
1:02:55Blackboard: Sorting After vs Sorting During
1:02:55Blackboard: Sorting After vs Sorting During
1:02:55Blackboard: Sorting After vs Sorting During
1:05:31@TheLagScript Have you ever made something of this sort of a project before? When you stream, do you just do everything as you go, sort of "improv" coding, or do you do stuff off stream to prepare what you are actually going to code on stream?
🗪
1:05:31@TheLagScript Have you ever made something of this sort of a project before? When you stream, do you just do everything as you go, sort of "improv" coding, or do you do stuff off stream to prepare what you are actually going to code on stream?
🗪
1:05:31@TheLagScript Have you ever made something of this sort of a project before? When you stream, do you just do everything as you go, sort of "improv" coding, or do you do stuff off stream to prepare what you are actually going to code on stream?
🗪
1:07:07@CFlickster Are we going raid Shawn McGrath's stream tomorrow night after this one?
🗪
1:07:07@CFlickster Are we going raid Shawn McGrath's stream tomorrow night after this one?
🗪
1:07:07@CFlickster Are we going raid Shawn McGrath's stream tomorrow night after this one?
🗪
1:07:31@slashac How do you disable syntax highlight in Emacs while keeping comment and macro highlighted?
🗪
1:07:31@slashac How do you disable syntax highlight in Emacs while keeping comment and macro highlighted?
🗪
1:07:31@slashac How do you disable syntax highlight in Emacs while keeping comment and macro highlighted?
🗪
1:08:50@TheLagScript Is your Visual Studio "custom" theme anywhere? I really like it
🗪
1:08:50@TheLagScript Is your Visual Studio "custom" theme anywhere? I really like it
🗪
1:08:50@TheLagScript Is your Visual Studio "custom" theme anywhere? I really like it
🗪
1:09:54Wrap it up
🗩
1:09:54Wrap it up
🗩
1:09:54Wrap it up
🗩
1:11:20Shout out to HandmadeDev, who are building a community site for projects like Handmade Hero, with nicer forums
🗩
1:11:20Shout out to HandmadeDev, who are building a community site for projects like Handmade Hero, with nicer forums
🗩
1:11:20Shout out to HandmadeDev, who are building a community site for projects like Handmade Hero, with nicer forums
🗩