[0:03][Recap and set the stage for the day streamlining the :lighting system, operating directly in the octahedral map, and hook up the light convection][:speech]
[4:58][Determine to hook up the bounce-based light convection][:lighting :speech]
[6:02][Demo the current state of the :lighting][:"debug visualisation" :run]
[7:57][On assuming we have a bug, and not rationalising away by manufacturing an explanation that the code is correct][:speech]
[13:16][Determine to investigate the octahedral interpolation][:"debug visualisation" :lighting :run]
[15:50][Prevent GenerateRoom() from varying the floor height][:"procedural generation"]
[16:54][Take a close look at the apparent square :lighting falloff artifact][:"debug visualisation" :run]
[21:25][Try making SumLight() in CompileZBiasProgram() overwrite the top-level voxel with the value of the first bottom-level voxel][:lighting]
[21:58][Note the weird shape of our angular falloff][:"debug visualisation" :lighting :run]
[23:19][Scrutinise SumLight() in CompileZBiasProgram() for anything that may affect the angular falloff][:lighting :research]
[25:41][Try making SumLight() in CompileZBiasProgram() lookup into the octahedral light map at a known location][:lighting]
[26:10][Find no interpolation variance while moving the :camera][:"debug visualisation" :lighting :run]
[26:43][Revert SumLight() in CompileZBiasProgram() to interpolate the full voxel hierarchy][:lighting]
[26:50][Find that our :lighting interpolates coherently, which suggests that our weirdness is coming from the octahedral light map][:"debug visualisation" :run]
[28:15][Revert SumLight(0 in CompileZBiasProgram() to lookup into the octahedral light map in the correct direction][:lighting]
[28:21][Take a close look at the octahedral-shaped :lighting falloff artifact, in conjunction with Jeff Knox's octahedral unwrapping visualisation in Desmos[ref
[47:28][Make OpenGLChangeToSettings() zoom out the light map viewer][:"debug visualisation" :lighting]
[47:38][See no especially bright areas in the light map viewer][:"debug visualisation" :lighting :run]
[48:06][Pan around the light map for our expected bright areas][:"debug visualisation" :"hot reloading" :lighting :programming :run]
[53:15][See two identical neighbouring values in the light map][:"debug visualisation" :lighting :run]
[54:45][Continuities][:lighting :run]
[55:58][Enable interpolation in OpenGLChangeToSettings()][:lighting]
[56:14][Discontinuities in the rate of change][:"debug visualisation" :lighting :run]
[58:23][Toggle on EDGE_COLORING in EndLightingComputation()][:"debug visualisation" :lighting]
[58:30][Disable interpolation in OpenGLChangeToSettings()][:lighting]
[58:40][Recall that the artifact is not on an edge copy][:"debug visualisation" :lighting :run]
[1:00:17][Make EndLightingComputation() write purple structured art into the interior of the octahedral light map, with thanks to Mike Biddlecombe][:"debug visualisation" :lighting]
[1:01:29][See a great swathe of purple, revealing that the artifact is from the interpolation between texels][:"debug visualisation" :lighting :run]
[1:02:53][Make EndLightingComputation() write a 3×3 structured art matrix in the octahedral light map][:"debug visualisation" :lighting]
[2:26:28][@centhusiast][Q: How fast is this :lighting method when we compile in debug mode?]
[2:26:56][@jessem3y3r][Q: I have to say that your debug videos are often more educational than implementation-heavy ones. Very insightful into your process. Thanks!]
[2:28:38][@xrxr13579][Q: Is octahedral :lighting the only way to go for what you want?]
[2:29:32][@philliptrudeau][Q: Once you take depth samples, could you do bounce :lighting by fetching the depth sample and then moving that far down the normal to seek directly to the next voxel?]
[2:30:26][@somebody_took_my_name][Q: Sorry that was just a temp graph, I hadn't saved it. But now with an account and all, the permanent link (I guess) is here[ref
[2:31:36][@kniffel5][Q: Could you do a stream on RAD's Telemetry[ref
site="RAD Game Tools"
page="Telemetry Performance Visualization System"
url=http://www.radgametools.com/telemetry.htm] one day, showing all the things you can do with it? I'm really interested in the tool, but the only good video source on it is [@naysayer88 Jon Blow], and his streams aren't very "tutorial-y" by nature!]
[2:33:23][@philliptrudeau][Q: With the octahedral map, both the bilinear filtering and the "puffy" filtering seemed to have a pretty quick falloff between samples. Would you consider doing something like bi-cubic filtering for a smoother blend?][:lighting]
[2:37:08][@centhusiast][Q: Do you you use any equation for the light density attenuation?][:lighting]
[2:37:29][@kniffel5][Q: Thanks! Do you know if RAD has discounts for students?]
[2:38:37][@centhusiast][Q: Yes, I meant intensity attenuation?]
[2:39:28][@xrxr13579][Q: Would you ever go back to RAD?]
[2:40:06][@mattiamanzati][Q: Does the paper from nVidia about octahedral sampling[ref
title="Dynamic Diffuse Global Illumination with Ray-Traced Irradiance Fields"
author="Jean-Philippe Guertin, Derek Nowrouzezahrai, Morgan McGuire"
url=http://jcgt.org/published/0008/02/01/] cover also the sampling filter, or did they just use linear and bump up the size of the bitmap to have more samples?][:lighting]
[2:47:47][@roblovski][Q: When doing game logic, do you think it's ever a good idea to write in async / await style and have that transformed into a state machine?]
[2:50:36][@xrxr13579][Q: Thoughts on the ML family of languages and tagged unions?][:language]
[2:51:18][@centhusiast][Q: Do you know about the inverse distance weight interpolation method? Do you think it can be used for games?]
[2:51:34][@nickito97][Q: What do you think of C++20 modules and, separately, of constexpr in C++ in general?][:language]
[2:51:56][@cyberimmersion][Q: I've only really focused much on python, and I'm trying to learn another :language. What do you think of Golang?]