[1:09:12][Check out the light map][:lighting :run]
[1:09:39][Toggle on the coloured octahedron in EndLightingComputation(), and make OpenGLChangeToSettings() zoom in to it][:"debug visualisation" :lighting]
[1:10:31][Check out the light map to see no copying][:lighting :run]
[1:10:47][Make EndLightingComputation() copy in to the bottom row of the octahedron][:lighting]
[1:11:39][See copying in the light map][:lighting :run]
[1:11:58][Make EndLightingComputation() copy in to the top row of the octahedron][:lighting]
[1:12:38][See copying in the light map][:lighting :run]
[1:12:52][Temporarily make EndLightingComputation() copy in coloured values][:lighting]
[1:13:05][See our correctly flipped copying in the light map][:lighting :run]
[1:13:19][Make EndLightingComputation() copy in to the left and right columns of the octahedron][:lighting]
[1:16:56][See copying in the light map, only missing the corners][:lighting :run]
[1:17:10][Check our left–right vertical copies with the paper[ref
title="Survey of Efficient Representations for Independent Unit Vectors"
author="Zina H. Cigolle, Sam Donow, Daniel Evangelakos, Michael Mara, Morgan McGuire, Quirin Meyer"
[1:19:41][Let EndLightingComputation() populate the light map with real values][:lighting]
[1:19:49][See our full light map, with no improvement to our discontinuity][:lighting :run]
[1:21:05][Scour CompileZBiasProgram() for octahedral mapping bugs][:lighting :research :sampling]
[1:24:11][Explicitly write out the OctMapCenterUV and OctExteriorUVDim initialisations in SampleLighting(), and continue to scour this function for bugs][:lighting :programming :research :sampling]
[1:28:21][Fix OctMapInteriorUVDimC.y in SampleLighting()][:lighting :sampling]
[1:47:58][Let EndLightingComputation() populate the light map with real values][:lighting :owl :programming]
[1:48:13][Note the brightening as the character hops up][:"debug visualisation" :lighting :owl :run]
[1:49:42][Try making SumLight() sample the :lighting from the direction you're pointing, ignoring the actual reflection vector][:owl :programming :sampling]
[1:49:57][See no :lighting discontinuities][:"debug visualisation" :lighting :owl :run]
[1:51:21][Revert SumLight() to use the reflection vector][:owl :programming :sampling]
[1:52:02][Wonder if EndLightingComputation() is populating the octahedron incorrectly][:lighting :owl :research]
[1:53:16][:Sampling Within Pixels][:blackboard]
[1:55:08][Fix EndLightingComputation() to offset the light population by half a pixel][:lighting :owl :programming]
[1:56:29][Still see the seam][:"debug visualisation" :lighting :owl :run]
[1:56:49][Toggle EndLightingComputation() between offsetting the light population and not, to see difference but no improvement][:lighting :owl :programming :run]
[1:58:29][Q&A][:speech]
[1:59:01][@somebody_took_my_name][Q: Can you vary the light height to see its impact?][:lighting]
[2:07:39][Fix the position of the light probe drawing in EndLightingComputation()][:"debug visualisation" :lighting]
[2:09:52][See our light probes, and consider the brightening to be due to a Z-discontinuity][:"debug visualisation" :lighting :run]
[2:11:36][@snubbykins][Q: Should you gutter copy from the opposite / flipped sides of the octal mapping so the bilinear blend will blend correctly?[ref
title="Survey of Efficient Representations for Independent Unit Vectors"
author="Zina H. Cigolle, Sam Donow, Daniel Evangelakos, Michael Mara, Morgan McGuire, Quirin Meyer"