40 lines
2.9 KiB
Plaintext
40 lines
2.9 KiB
Plaintext
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Building and Traversing Graphs" vod_platform=youtube id=4GmDwulUkPA annotator=Miblo]
|
|
[1:14][Recap and set the stage for the day]
|
|
[2:52][handmade_sort.cpp: Briefly look through what BuildSpriteGraph() does]
|
|
[5:08][Blackboard: Graph sort]
|
|
[8:35][Blackboard: Subgraphs, and marking each node you touch]
|
|
[9:38][Blackboard: Cycles]
|
|
[11:41][Blackboard: The steps involved in doing this graph sort]
|
|
[13:52][handmade_sort.cpp: Reorganise our graph structs]
|
|
[16:42][handmade_sort.cpp: Begin to implement BuildSpriteGraph() for real]
|
|
[21:53][Blackboard: Traversing the edges from foremost to backmost]
|
|
[23:37][handmade_sort.cpp: Continue implementing BuildSpriteGraph()]
|
|
[24:31][handmade_sort.cpp: Introduce WalkSpriteGraph()]
|
|
[26:07][handmade_sort.cpp: Introduce RecursiveFromToBack()]
|
|
[29:30][handmade_sort.cpp: Introduce enum sprite_flag, in order to mark sprites as visited and drawn]
|
|
[32:07][handmade_sort.cpp: Make BuildSpriteGraph() and RecursiveFromToBack() use those flags]
|
|
[34:14][Blackboard: Note that we've done the graph sorting steps out of order]
|
|
[35:02][handmade_sort.cpp: Introduce struct sprite_graph_walk in order to keep track of our location in the graph]
|
|
[39:17][Consider how we'll need to proceed]
|
|
[40:38][handmade_sort.cpp: Clean up compile errors]
|
|
[42:18][handmade_sort.cpp: Make BuildSpriteGraph() and SortEntries() take a memory_arena]
|
|
[43:50][Consider doing the sort in pieces that don't interfere with one another]
|
|
[47:59][Blackboard: Treating the game sort data and the debug sort data separately]
|
|
[52:40][win32_handmae.cpp: Consider issuing RenderCommands() and LinearizeClipRects() in two separate places]
|
|
[55:09][handmade_sort.cpp: Prevent BuildSpriteGraph() from calling PushStruct()]
|
|
[55:53][win32_handmade.cpp: Prevent Win32DisplayBufferInWindow() from calling SortEntries()]
|
|
[56:16][Run the game and find that the entries aren't sorted but that we don't crash]
|
|
[56:26][Q&A][:speech]
|
|
[57:50][@wasenabled][Did you discuss why you are using recursion and any concerns with stack overflows?]
|
|
[59:04][@bryanwwag][Working with graphs can be difficult; do you have any techniques for debugging them other than observing screen renders, or is that mostly sufficient?]
|
|
[1:00:46][@roam00010011][Okay for real, did you address the possibility for intersecting sprites?]
|
|
[1:01:10][@lumenian][When I code I use the mouse a lot. You seem to be using a lot of shortcuts to jump here and there. Can you tell more about your shortcuts? Thanks![ref
|
|
site="YouTube"
|
|
page="Handmade 4coder"
|
|
url="https://www.youtube.com/playlist?list=PLrBsIiq8z2AbcUih00deJpPWi4e4seti9"]]
|
|
[1:02:02][@hopollo][Do you know the dev Garry Newman? If yes, what do you think about his work?]
|
|
[1:02:40][sssmcgrath I stopped using Razer's drivers as soon as you needed an account]
|
|
[1:03:03][@filiadelski][What's that shirt?]
|
|
[1:04:00][Wind it down][:speech]
|
|
[/video]
|