diff --git a/cmuratori/hero/code/code551.hmml b/cmuratori/hero/code/code551.hmml new file mode 100644 index 0000000..4a604f4 --- /dev/null +++ b/cmuratori/hero/code/code551.hmml @@ -0,0 +1,55 @@ +[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Computing Probe to Probe Transmission" vod_platform=youtube id=H_TJChafe9c annotator=Miblo] +[0:00][Recap and set the stage for the day][:speech] +[1:53][Walk through the current state of our light probe implementation][:lighting :research] +[8:45][Determine to perform probe to probe transmission][:lighting :speech] +[11:14][Switch ComputeLightPropagation() over from geometry-locked to probe-to-probe :lighting propagation, with an eye on :threading this routine] +[31:40][Note the expense of ray casting and transference][:lighting :performance :speech] +[33:06][Implement probe-to-probe transference in ComputeLightPropagation(), initially in scalar][:lighting] +[57:52][Fix compile errors][:lighting] +[1:05:28][Consider how to store the AccumulatedPPS in lighting_solution, in a cache-friendly way][:lighting :research] +[1:08:46][Enable InitLighting() to reserve six times the space for each AccumulatedPPS][:lighting :memory] +[1:09:52][Find that the game runs][:lighting :run] +[1:10:41][Delete stale data from lighting_solution][:lighting] +[1:11:50][Consider storing light boxes in a free-list][:lighting :memory :speech] +[1:17:59][Consider storing the light probes stably][:lighting :memory :speech] +[1:18:42][Augment raycast_result with an Emission for RayCast() and ComputeLightPropagation() to use][:lighting] +[1:22:49][Continue to delete stale data from lighting_solution][:lighting] +[1:24:01][Find that the game runs][:lighting :run] +[1:24:36][Q&A][:speech] +[1:24:45][Rename some struct members to satisfy the C++ standard[ref + site=GitHub + page="HandmadeHero / cpp / Linux Problems" + url=https://github.com/HandmadeHero/cpp/issues/109]][:language] +[1:29:47][Close the "Linux Problems" issue[ref + site=GitHub + page="HandmadeHero / cpp / Linux Problems" + url=https://github.com/HandmadeHero/cpp/issues/109]][:admin :language] +[1:30:15][@zufaelligertyp][Let me guess, this is about undefined behaviour?][:language] +[1:33:39][@genos3][Q: How do you know if you wrote undefined behaviour code?][:language] +[1:35:16][@uplinkcoder][Q: There is Clang's ub sanitizer][:language] +[1:37:15][@vaualbus][Q: Which is the weirdest macro you had to make for some application? Have you ever gone to macro madness?][:language] +[1:38:03][@xrxr13579][Q: What's the full screen purple flash that happens in your editor sometimes?] +[1:38:37][@illumi25][Q: Have you seen "The Grand C++ Error Explosion Competition"?[ref + site="The Grand C++ Error Explosion Competition" + page="Results of the Grand C++ Error Explosion Competition" + url=https://tgceec.tumblr.com/post/74534916370/results-of-the-grand-c-error-explosion]][:language] +[1:39:15][@tiswoody][Q: Did you enjoy it?][:language] +[1:40:08][@tiswoody][Q: Did you enjoy [@naysayer88 Jon]'s macro video[ref + author="Jonathan Blow" + title="Compiler Demo: Macros and Iteration" + publisher=YouTube + url=https://www.youtube.com/watch?v=QX46eLqq1ps]][:language] +[1:40:27][@pragmascrypt][Q: Imagine a light probe that has no direct visibility to a red wall but it could reach it via one indirect bounce. I don't think the light probe will ever get any red contribution from that wall no matter how long you iterate, unless you cast secondary rays from surfaces][:lighting] +[1:41:06][Secondary Bounces][:blackboard :lighting] +[1:50:09][@pragmascrypt][Q: Yes] +[1:53:55][@xrxr13579][I just checked Wikipedia,[ref + site=Wikipedia + page="Integer overflow" + url=https://en.wikipedia.org/wiki/Integer_overflow] and apparently signed overflows are still undefined behaviour][:language] +[1:56:50][Thank you, everyone][:speech] +[1:59:11][Edit the schedule, adding an episode on 24th August 2019 at 12:00PM PDT[ref + site=Twitter + page="Handmade Hero" + url=https://twitter.com/handmade_hero]][:admin] +[2:01:38][Until we next meet][:speech] +[/video]