cinera_handmade.network/cmuratori/hero/code/code410.hmml

36 lines
2.9 KiB
Plaintext
Raw Permalink Normal View History

[video output=day410 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Tracking Incident Light" vod_platform=youtube id=IS8fl0H1wmc annotator=Miblo]
[0:09][Recap and set the stage for the day computing the lighting in software]
[2:08][handmade_opengl.cpp: Comment out the LightingD contribution in CompileZBiasProgram()]
[2:41][Run the game to see the current, non-directional lighting solution]
[4:36][handmade_world_mode.h: Remove ambient occlusion from the lighting_element]
[11:17][Blackboard: Incident Light]
[14:52][Blackboard: Forward propagating emitters to reflectors]
[20:29][handmade_render_group.cpp: Introduce RayCast(), ComputeLightPropagation() and GatherFinalLighting()]
[27:46][Blackboard: Surface facing direction]
[29:15][handmade_world_mode.h: Only store one direction in the lighting_element]
[30:43][handmade_render_group.cpp: Continue to implement RayCast()]
[32:28][handmade_render_group.cpp: Implement GatherFinalLighting()]
[40:47][Blackboard: Emittance distance contribution]
[43:39][handmade_render_group.cpp: Continue to implement GatherFinalLighting() without diminishing by distance]
[51:33][handmade_render_group.cpp: Determine to implement ComputeLightPropagation()]
[53:04][Blackboard: Projecting from emitters vs from reflectors]
[55:50][handmade_render_group.cpp: Implement ComputeLightPropagation() casting from emitters to reflectors]
[1:00:42][Consider prohibiting ourselves from hitting the same reflector twice]
[1:04:19][handmade_render_group.cpp: Continue to implement ComputeLightPropagation() weighting the emission contribution]
[1:14:25][handmade_render_group.cpp: Enable ExtractReflectorsFromQuads() and ExtractReflectorsFromVerts() to use our newly computed emittance]
[1:20:06][Run the game to see the trippy disco lights]
[1:21:39][handmade_world_mode.cpp: Prevent AddSnakeSegment() from emitting light]
[1:22:18][Run the game to see our current lighting solution with just our hero's light source]
[1:23:34][Q&A][:speech]
[1:23:50][@finalspace][Before I forgot, please increase the font size in visual studio for debugging; the font size is pretty small. It's not the same size as 4coder uses. Thanks!]
[1:24:46][@lclhstr][Ah well... shareware visual studio]
[1:25:21][@thesizik][Haven't you made an account for VS on a previous stream?]
[1:25:37][@stanpancakes][Has 4coder open, runs notepad to write a TODO]
[1:26:19][@lclhstr][Yeah, no malicious intent with my statement. I just find it funny how it expires after 30 days without you giving them "customer data"]
[1:30:06][@simekone][Did you try ConEmu instead of stock Command Prompt? I love Quake Console effect it delivers]
[1:30:33][@finalspace][The good times for paying software and are happy are totally over]
[1:31:03][@tinforma][Couldn't follow for a long time. Have you done something with automated (unit) testing or are you planning to?]
[1:33:16][@cewxel][How do you keep your motivation going on long running projects?]
[1:35:47][Wrap it up][:speech]
[/video]