[41:39][:Run the game to inspect the :lighting][:rendering]
[42:08][Determine to modify our :lighting to use AABBs][:optimisation :rendering :speech]
[43:24][Introduce (a commented out) lighting_box, and add SurfaceCount and Surfaces to game_render_commands][:lighting :optimisation :rendering]
[49:41][Add LightPointCount and Lights to game_render_commands][:lighting :optimisation :rendering]
[52:31][Determine to pare down ExtractReflectorsFromQuads() and consider how to enable :lighting points and surfaces to correspond][:optimisation :rendering :speech]
[56:15][:Run the game to illustrate the notion of sharing :lighting information across boundaries][:optimisation :rendering]
[57:40][Enable PushCube() to push onto a lighting_surface array][:lighting :optimisation :rendering]
[1:01:20][Positioning the surface at the most negative corner of an axis-aligned cube][:blackboard :geometry :lighting :optimisation :rendering]
[1:02:03][Continue to enable PushCube() to push onto a lighting_surface array][:lighting :optimisation :rendering]
[1:03:17][Generating the surface normals][:blackboard :geometry :lighting :optimisation :rendering]
[1:03:41][Make PushCube() push all six surfaces][:lighting :optimisation :rendering]
[1:05:43][Understanding XAxis and YAxis in a right-handed coordinate system][:blackboard :geometry :lighting :optimisation :rendering]
[1:06:02][Make PushCube() set the XAxis and YAxis][:lighting :optimisation :rendering]
[1:09:04][Make PushCube() set the LightIndex and LightCount][:lighting :optimisation :rendering]
[1:10:19][Understanding Width and Height][:blackboard :geometry :lighting :optimisation :rendering]
[1:10:56][Make PushCube() set the Width and Height][:lighting :optimisation :rendering]
[1:13:17][Make PushCube() generate the :lighting points on the surfaces][:optimisation :rendering]
[1:15:39][Discover a potential bug with PushCube() erroneously resetting the AverageDirectionToLight][:lighting :rendering]
[1:16:54][Temporarily comment out our recent changes to try][:lighting :optimisation :rendering]
[1:17:41][:Run the game to see the old :lighting][:rendering]
[1:17:52][Try to prevent PushCube() from clearing the AverageDirectionToLight][:lighting :rendering]
[1:19:10][Continue with our new PushCube() solution, adding EmitC0 to the lighting_point][:lighting :optimisation :rendering]
[1:27:00][Allocate these :lighting points per surface][:memory :optimisation :rendering]
[1:34:28][:Run the game to see our :lighting solution][:rendering]
[1:35:13][Toggle off most of ExtractReflectorsFromQuads() to start to use the :lighting surfaces and points instead][:optimisation :rendering]
[1:39:03][:Run the game to see that we are slower, but working][:lighting :optimisation :rendering]
[1:39:56][Replace ExtractReflectorsFromQuads() with inline operations in LightingTest()][:lighting :optimisation :rendering]
[1:43:00][Replace static arrays in lighting_solution with pointers][:lighting :optimisation :rendering]
[1:43:35][:Run the game to see that it works][:lighting :optimisation :rendering]
[1:44:05][Add a TIMED_FUNCTION in OutputLightingTextures(), OutputLightingPoints(), LightingTest() and ComputeLightPropagation()][:"debug system" :lighting :profiling :rendering]
[1:44:41][:Run the game and inspect the profiler][:lighting :optimisation :profiling :rendering]
[1:45:30][Add a DEBUG_VALUE to LightingTest()][:"debug system" :lighting :profiling :rendering]
[1:46:22][:Run the game and inspect the SurfaceCount and PointCount in the profiler][:lighting :profiling :rendering]
[1:48:05][Note that we could propagate light across frames][:lighting :rendering :speech]
[1:48:54][Glimpse into the future of passing AABBs down directly][:lighting :optimisation :rendering :speech]
[1:49:23][Q&A][:speech]
[1:50:11][@Kknewkles][Q: How come Bink2 isn't used, prevalently at that, in video playback across all of the video-playbacking use cases? Why is it the incumbent sovereign only in video games?][:codec]
[1:52:46][@derpzerker][Q: Was there a bug with light leaking behind the walls that was newly added?][:lighting :rendering]
[1:52:56][:Run the game to look for light leaking][:lighting :rendering]
[1:54:30][@derpzerker][Q: Maybe not, I thought I saw the light leak through the bottom wall][:lighting :rendering]
[1:56:03][@qq][Q: When you write code in an exploratory fashion, and you end up with something that works well but is too large and complex to fit in your head at once, how do you simplify it back into something manageable?]
[1:57:21][@Jim0_o][Q: Will you continue (dual) streaming to YouTube?]
[1:58:05][@qq][Q: Are you concerned with compile times at all so far? I saw CTIME reporting 2.7 seconds. Time to pop in a threadripper?]