[1:00:51][Update EndLightingComputation() to handle our separately encoded normal and colour][:lighting]
[1:06:05][Update CompileZBiasProgram() to handle our separately encoded normal and colour][:lighting]
[1:08:10][Find that that worked the first time, but the normals are not correct][:lighting :run]
[1:08:59][Enable GetIrradiance() in CompileZBiasProgram() to produce and EndLightingComputation() to encode a -1 to 1 normal, introducing BinormalToNormal()][:lighting]
[1:12:33][Find that our normal encoding now works correctly][:lighting :run]
[1:13:04][Add a secondary light source in EndLightingComputation()][:lighting]
[1:15:42][See our two light sources][:lighting :run]
[1:15:54][Further separate our two light sources][:lighting]
[1:16:21][See our two separated light sources][:lighting :run]
[1:16:27][Colour our light sources yellow and cyan][:lighting]
[1:16:38][See our two separate coloured light][:lighting :run]
[1:16:49][Overlap our two lights][:lighting]
[1:16:57][Check out the intersection of our lights][:lighting :run]
[1:20:41][Add two more light sources in EndLightingComputation()][:lighting]
[1:22:57][See three of our four lights][:lighting :run]
[1:23:16][Enable CompileZBiasProgram() to sample our fourth light][:lighting :sampling]
[1:24:32][See our four lights][:lighting :run]
[1:25:32][Consider how to change our light probes to work as a signed distance field][:lighting :research]
[1:31:56][Admire our :lighting, and consider tracking colour and intensity differently][:run]
[1:33:52][Q&A][:speech]
[1:34:14][@invertedgold][Q: Have you taken anything you implemented for [~hero Handmade Hero] and used it in your other work?]
[1:35:23][@eddiesutrecht][Q: What are you working on during the week?[ref
site=1935
url=https://molly1935.com/][ref
site="Meow the Infinite"
url=https://meowtheinfinite.com/][ref
site="Molly Rocket"
url=https://mollyrocket.com/]]
[1:36:43][@rooctag][Q: How will walls stop light, same bouncing rays as before?][:lighting]
[1:37:55][@eddiesutrecht][Q: I assume there is a source of income, not working on projects for pay?]
[1:40:22][@eddiesutrecht][Q: You do realise you could be a very wealthy man if you accept a small project for a few weeks, right?]
[1:51:10][@tomisqi][Q: In terms of programming techniques, how has your style changed over the course of this project? Are there things you did at the beginning of this project that you think were steps in the wrong direction or would do differently?][:language]
[1:55:14][@centhusiast][Q: Can :memory fragmentation happen on GPU?]
[1:59:30][@filiadelski][Q: 10/10 pants, looks very comfy]
[1:59:33][@timetravel1][Q: How would you compare WinDBG and ~RemedyBG? Should I consider switching to ~RemedyBG if I'm using WinDBG?]
[2:03:01][@vtlmks][Q: Where could I learn more about out-of-order optimization?]
[2:03:14][@centhusiast][Q: Could you explained the stripped binary? Is it possible to optimize a binary even there is no access to the source code?]
[2:05:12][@ikojan][Q: Do you have any resources on why OOP programming isn't that good?][:language]
[2:05:58][@genos3][Q: What would be the best way to prevent overdraw in a software rasterizer, in particular with a voxel scene like Minecraft? (I asked this before but didn't specify the type of game)][:rendering]
[2:08:03][@devsigner][Q: I've heard you mention before that you don't like callbacks. Should they be avoided at all costs? How would you avoid them if using recursion and navigating a tree-like structure?][:language]
[2:08:55][@freddo669][Q: What’s your opinion on white board interviews in the big tech companies like Google?]
[2:12:01][@jessef][Q: If virtual :memory exists, how are games still able to be hacked? Is it because offsets are constant?]
[2:12:31][@centhusiast][Q: Have you heard about game development workshop assembly[ref
site=Assembly
url=https://www.assembly.org/] and also assembly archive?[ref
site="Assembly Archive"
url=https://archive.assembly.org/]There are lots of material there.]
[2:12:39][@culdevu][Q: Is there an errata page for the Jeff and Casey show that I can submit to?]
[2:12:47][@thehorse1sbrown][Q: How do you do design :memory arenas for multiple dynamic arrays to please the cache?]
[2:13:32][@sharlock93][Q: Don't you think that the reason for low quality software was because people wanted to do things faster?]
[2:13:53][@argor34][Q: I would like to express my deepest disappointment in the lack of new J&C episodes]
[2:14:15][@thehorse1sbrown][Q: I mean for software for simulations, something like Mathematica]
[2:14:26][@sharlock93][Q: Do you think it's possible to turn the web around? Also PJs are pretty nice]
[2:15:22][@montrealchrislee][Q: If you are an employer, which candidate would you choose? A: 4.0 GPA with no side project; B: 2.5 GPA with lots of side projects]
[2:19:21][@timetravel1][Q: Hey [@cmuratori Casey], I know you're busy and all. Can you stand up for me and reverse this linked list for me on the white board? Thanks]
[2:24:05][@sharlock93][Q: Random off-topic question but why does it feel like you would enjoy knitting? Just a random gut feeling]
[2:24:40][@printf_armin][Q: The thing is also that these people probably make the software slow and sh… on purpose to not be easily fired]
[2:26:44][@enemypanda][Q: What are some resources to learn graphics programming? How much math is really necessary?]
[2:27:41][@argor34][Q: If not with dynamic arrays, how do you store dynamically growing data when you can't predict how much :memory you will need and need to store it, so the [~hero Handmade Hero] temporary memory concept doesn't solve the problem? I figure some sort of linked list is even worse for the cache]
[2:28:00][@devsigner][Q: Have you or would you ever use goto?][:language]
[2:30:33][@uplinkcoder][Q: switches can in some cases generate indirect jumps][:language]
[2:31:35][@catccherguy14][Q: Will you be an early adopter of JAI?][:language]
[2:31:40][@pookyo_o][Q: In your experience what do you think are good ways to manage software projects? I hear lots of praise for scrum / agile but from my experience these methodologies have shown none to little results. Am I missing something with these methodologies?]
[2:31:53][@argor34][Q: The dynamic array example: 1) a list of active connections on a server; 2) an array of entities in a game][:memory]
[2:32:34][@thehorse1sbrown][Q: If you have several unpredictably growing dynamic arrays, say in a "math" simulation, would you separate them by a large distance in a :memory arena? Or do you pile blocks on top of each other? What does the cache prefer? Is it even a concern?]