From 3eb1b43862b15fc8e47facd573a846c87c0f4f53 Mon Sep 17 00:00:00 2001 From: Matt Mascarenhas Date: Thu, 28 May 2020 18:35:59 +0100 Subject: [PATCH] Index hero/code604 --- cmuratori/hero/code/code604.hmml | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cmuratori/hero/code/code604.hmml diff --git a/cmuratori/hero/code/code604.hmml b/cmuratori/hero/code/code604.hmml new file mode 100644 index 0000000..8ab1bc5 --- /dev/null +++ b/cmuratori/hero/code/code604.hmml @@ -0,0 +1,42 @@ +[video output=day604 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Adding a Voxel Utility Struct" vod_platform=youtube id=6rEaX9UmEcc annotator=Miblo] +[0:02][Recap and set the stage for the day][:speech] +[2:52][:Lighting walkthrough: Voxelisation recording the octahedral map][:research] +[4:21][:Lighting walkthrough: Grid ray tracing, for writing to the octahedral map][:research :threading] +[7:21][:Lighting walkthrough: Traversing the aproned voxel][:research] +[9:25][:Lighting walkthrough: Computing and writing to the octahedral map][:research] +[12:36][:Lighting walkthrough: Grid ray casting, propagating light through the system][:research] +[16:07][:Lighting walkthrough: Grid ray casting, for :sampling from the spatial grid][:research] +[23:26][Consider the correctness of our partial-floating-point MinTest computation in GridRayCast()][:lighting :mathematics :research] +[26:44][Make a note in GridRayCast() to consider computing MinTest using the full 32-bit compare][:lighting :mathematics] +[29:29][:Lighting walkthrough: Grid ray casting, for :sampling from the spatial grid, continued][:research] +[35:35][:Lighting walkthrough: Pre-pass spatial grid construction][:research] +[36:45][Antibiotics, COVID-19, throat culture tests and medical practice][:health :speech] +[38:39][:Lighting walkthrough: Pre-pass spatial grid construction, continued][:research] +[41:59][Document the Intersect() call in BuildSpatialPartitionForLighting()][:lighting] +[42:44][Determine to step through the :lighting code][:speech] +[43:19][Try to break into InteralLightingCore()][:lighting :run] +[44:25][Step through InternalLightingCore()][:lighting :run] +[47:43][Make BuildSpatialPartitionForLighting() subtract the apron from the MaxGridIndex][:lighting] +[48:04][Step back in to BuildSpatialPartitionForLighting()][:lighting :run] +[48:29][Respecify MaxGridIndex as GridCount in BuildSpatialPartitionForLighting()][:lighting] +[49:40][Continue to step through BuildSpatialPartitionForLighting()][:lighting :run] +[51:15][Assert in GridIndexFrom() that our P is inside the Voxel][:"data structure" :lighting] +[54:51][Extend the voxel by an ExtraOcclusionRadius, augmenting lighting_solution with a SpatialGridCorner and SpatialGridIndexOffset][:"data structure" :lighting] +[1:02:24][Create handmade_voxel.h and handmade_voxel.cpp, introducing voxel_grid and related utility functions][:"data structure" :lighting] +[1:15:13][Clean up and augment lighting_solution with new voxel_grid AtlasGrid and SpatialGrid][:"data structure" :lighting] +[1:20:10][Include handmade_voxel.h and handmade_voxel.cpp, fix errors and introduce voxel_relative_p][:"data structure" :lighting] +[1:25:39][Update the :lighting system to use our new voxel utility functions] +[2:22:41][Consider collapsing BeginLightingComputation() and InternalLightingCore()][:lighting :research] +[2:26:43][Introduce SetLightingValues() to do all the render_group initialisation work from BeginLightingComputation()][:lighting] +[2:28:42][Respecify BeginLightingComputation() as SetUpLightingRegion(), EndLightingComputation() as UpdateLighting(), and introduce PushLightingDebugValues()][:lighting] +[2:38:04][Q&A][:speech] +[2:38:26][@somebody_took_my_name][Q: When assigning SpatialMinCorner in SetUpLightingRegion(), the AtlasGrid's MinCorner is probably not yet initialized. So I think it should use the AtlasMinCorner variable][:lighting] +[2:39:05][Fix the SpatialMinCorner assignment in SetUpLightingRegion()][:lighting] +[2:39:31][@insobot][Q: Whisky?] +[2:39:48][@thebanjomatic][Q: ETA for 603, 604 hitting YouTube? I missed last Sunday's stream. Miss anything good?] +[2:40:39][@sagian2005][Q: Maybe it got fixed already. MaxNodeIndex = GetVoxelIndexForP (... Solution->SpatialGridMinCorner ...) should be SpatialGridMaxCorner] +[2:41:42][@somebody_took_my_name][It's missing the Grid pointer] +[2:41:55][Enable HANDMADE_INTERNAL and HANDMADE_SLOW, and fix the Assert in FlatIndexFrom()][:lighting] +[2:42:59][Delete the :lighting .dump and .txt files][:admin] +[2:43:40][We'll pick this up tomorrow][:speech] +[/video]