1:15handmade_render_group.cpp: Correctly compute the SpriteBound values in GetBoundFor()
1:15handmade_render_group.cpp: Correctly compute the SpriteBound values in GetBoundFor()
1:15handmade_render_group.cpp: Correctly compute the SpriteBound values in GetBoundFor()
2:23Recap and set the stage for the day
2:23Recap and set the stage for the day
2:23Recap and set the stage for the day
6:42handmade_render_group.cpp: Enable SortEntries() to do a total ordering check
6:42handmade_render_group.cpp: Enable SortEntries() to do a total ordering check
6:42handmade_render_group.cpp: Enable SortEntries() to do a total ordering check
12:14Run the game, try doing the new check and hit our Assertion
12:14Run the game, try doing the new check and hit our Assertion
12:14Run the game, try doing the new check and hit our Assertion
12:46Debugger: Inspect the SortKey values for EntryA and EntryB
12:46Debugger: Inspect the SortKey values for EntryA and EntryB
12:46Debugger: Inspect the SortKey values for EntryA and EntryB
15:28handmade_sort.cpp: Temporarily change the Assert in SortEntries() to a BreakHere, and count the SortErrors
15:28handmade_sort.cpp: Temporarily change the Assert in SortEntries() to a BreakHere, and count the SortErrors
15:28handmade_sort.cpp: Temporarily change the Assert in SortEntries() to a BreakHere, and count the SortErrors
17:22Debugger: Break into SortEntries() to see how many sort errors there were
17:22Debugger: Break into SortEntries() to see how many sort errors there were
17:22Debugger: Break into SortEntries() to see how many sort errors there were
18:13Blackboard: Sort Partial Ordering Problem
18:13Blackboard: Sort Partial Ordering Problem
18:13Blackboard: Sort Partial Ordering Problem
20:43Blackboard: Turning our Partial Ordering into a Total Ordering
20:43Blackboard: Turning our Partial Ordering into a Total Ordering
20:43Blackboard: Turning our Partial Ordering into a Total Ordering
24:00handmade_sort.cpp: Consider making IsInFrontOf() sort by distance from the camera
24:00handmade_sort.cpp: Consider making IsInFrontOf() sort by distance from the camera
24:00handmade_sort.cpp: Consider making IsInFrontOf() sort by distance from the camera
26:20Blackboard: Sorting by distance from the camera
26:20Blackboard: Sorting by distance from the camera
26:20Blackboard: Sorting by distance from the camera
29:43Blackboard: Orthographic camera
29:43Blackboard: Orthographic camera
29:43Blackboard: Orthographic camera
32:55Blackboard: Will taking the topmost point of cards be sufficient?
32:55Blackboard: Will taking the topmost point of cards be sufficient?
32:55Blackboard: Will taking the topmost point of cards be sufficient?
35:25handmade_sort.cpp: Introduce BuildSpriteGraph()
35:25handmade_sort.cpp: Introduce BuildSpriteGraph()
35:25handmade_sort.cpp: Introduce BuildSpriteGraph()
40:50Blackboard: Graph Theory
40:50Blackboard: Graph Theory
40:50Blackboard: Graph Theory
43:14Blackboard: Directed Graph
43:14Blackboard: Directed Graph
43:14Blackboard: Directed Graph
44:27Blackboard: Directed Acyclic Graph
44:27Blackboard: Directed Acyclic Graph
44:27Blackboard: Directed Acyclic Graph
46:43handmade_sort.cpp: Continue implementing BuildSpriteGraph()
46:43handmade_sort.cpp: Continue implementing BuildSpriteGraph()
46:43handmade_sort.cpp: Continue implementing BuildSpriteGraph()
49:45handmade_math.h: Introduce a version of RectanglesIntersect() that takes rectangle2
49:45handmade_math.h: Introduce a version of RectanglesIntersect() that takes rectangle2
49:45handmade_math.h: Introduce a version of RectanglesIntersect() that takes rectangle2
52:31handmade_sort.cpp: Consider partitioning the screen in order to build this graph and potentially using the Z-buffer
52:31handmade_sort.cpp: Consider partitioning the screen in order to build this graph and potentially using the Z-buffer
52:31handmade_sort.cpp: Consider partitioning the screen in order to build this graph and potentially using the Z-buffer
55:40handmade_sort.cpp: Consider leveraging the screen partitioning in order to optimise the software renderer
55:40handmade_sort.cpp: Consider leveraging the screen partitioning in order to optimise the software renderer
55:40handmade_sort.cpp: Consider leveraging the screen partitioning in order to optimise the software renderer
57:03roam00010011 How much more work would you have to do to get a full 3D sorting?
🗪
57:03roam00010011 How much more work would you have to do to get a full 3D sorting?
🗪
57:03roam00010011 How much more work would you have to do to get a full 3D sorting?
🗪
58:47roam00010011 I mean, use fake 3D data, since our cards are essentially flat, we can give an epsilon width to it for the sorting
🗪
58:47roam00010011 I mean, use fake 3D data, since our cards are essentially flat, we can give an epsilon width to it for the sorting
🗪
58:47roam00010011 I mean, use fake 3D data, since our cards are essentially flat, we can give an epsilon width to it for the sorting
🗪
59:15Blackboard: Sorting 3D objects
59:15Blackboard: Sorting 3D objects
59:15Blackboard: Sorting 3D objects
1:02:38Blackboard: Sorting all entities in a linear total ordering
1:02:38Blackboard: Sorting all entities in a linear total ordering
1:02:38Blackboard: Sorting all entities in a linear total ordering
1:10:55Blackboard: Common problematic cases in Handmade Hero
1:10:55Blackboard: Common problematic cases in Handmade Hero
1:10:55Blackboard: Common problematic cases in Handmade Hero
1:14:23insofaras Sorry if this was already answered, but what was the issue with a "return a_z != b_z ? a_z - b_z : a_y - b_y" style total ordering?
🗪
1:14:23insofaras Sorry if this was already answered, but what was the issue with a "return a_z != b_z ? a_z - b_z : a_y - b_y" style total ordering?
🗪
1:14:23insofaras Sorry if this was already answered, but what was the issue with a "return a_z != b_z ? a_z - b_z : a_y - b_y" style total ordering?
🗪
1:14:41Blackboard: The problem with sorting heroes behind walls on rugs on tiles
1:14:41Blackboard: The problem with sorting heroes behind walls on rugs on tiles
1:14:41Blackboard: The problem with sorting heroes behind walls on rugs on tiles
1:19:02insofaras Would the Y then Z sort work if Z is quantized to room layers, and sprites are split where they cross layers (and maybe the ground is special cased)?
🗪
1:19:02insofaras Would the Y then Z sort work if Z is quantized to room layers, and sprites are split where they cross layers (and maybe the ground is special cased)?
🗪
1:19:02insofaras Would the Y then Z sort work if Z is quantized to room layers, and sprites are split where they cross layers (and maybe the ground is special cased)?
🗪