105 lines
8.5 KiB
Plaintext
105 lines
8.5 KiB
Plaintext
|
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Encoding Light Values" vod_platform=youtube id=g3VG1H-CBGU annotator=Miblo]
|
|||
|
[0:03][Address Patreon's proposed fee change of December 2017[ref
|
|||
|
site=Patreon
|
|||
|
page="Patreon Implosion"
|
|||
|
url=https://www.patreon.com/posts/patreon-15786847]][:speech]
|
|||
|
[2:31][Plug the Annotated Episode Guide,[ref
|
|||
|
site="Handmade Hero"
|
|||
|
page="Annotated Episode Guide"
|
|||
|
url=https://hero.handmade.network/episode/code] Handmade Network[ref
|
|||
|
site="Handmade Network"
|
|||
|
url=https://hero.handmade.network/] - began by @abnercoimbre, @ChronalDragon and @Kelimion - @mr4thdimension's ~4coder and @serge_rgb's ~milton][:speech]
|
|||
|
[5:12][Continue to address Patreon's fee change[ref
|
|||
|
site=Patreon
|
|||
|
page="Patreon Implosion"
|
|||
|
url=https://www.patreon.com/posts/patreon-15786847]][:speech]
|
|||
|
[17:47][Mention the chair, a SPACE Seating Professional AirGrid Dark Back and Padded Black Eco Leather Seat…[ref
|
|||
|
site=Amazon
|
|||
|
page="SPACE Seating Professional AirGrid Dark Back and Padded Black Eco Leather Seat, 2-to-1 Synchro Tilt Control, Adjustable Arms and Tilt Tension with Nylon Base Managers Chair"
|
|||
|
url=https://www.amazon.com/Seating-Professional-AirGrid-Adjustable-Managers/dp/B000PWGZOI]][:trivia]
|
|||
|
[21:14][Segue out of the preamble][:speech]
|
|||
|
[22:08][:Run the game to see our current :lighting solution][:rendering]
|
|||
|
[26:16][Make CompileZBiasProgram() clamp the DirFalloff][:hardware :lighting :rendering]
|
|||
|
[28:07][:Run the game to see dramatically different :lighting results][:rendering]
|
|||
|
[29:14][Prevent RayCast() from tinting the light grey][:lighting :rendering]
|
|||
|
[29:51][:Run the game and consider that the ray caster is wrong][:lighting :rendering]
|
|||
|
[31:11][TODO(casey): Need a skylight method that works with our propagation]
|
|||
|
[32:37][Mention the office espresso machine][:trivia]
|
|||
|
[34:01][Read through RayCast()][:lighting :rendering :research]
|
|||
|
[35:50][Wax lyrical on ~milton and its creator @serge_rgb][:speech]
|
|||
|
[36:33][Raycast Debugging][:blackboard :lighting :rendering]
|
|||
|
[43:43][Explain RayCast() complete with :blackboard illustrations][:lighting :rendering]
|
|||
|
[54:09][Consider what may be going wrong in RayCast()][:lighting :rendering :research]
|
|||
|
[56:22][How GatherFinalLighting() may be incorrectly generating uniform samples without a hemisphere][:blackboard :lighting :rendering]
|
|||
|
[59:20][:Run the game to see light sailing out of the back of geometry]
|
|||
|
[1:00:00][Introduce SampleHemisphere()][:lighting :rendering]
|
|||
|
[1:01:32][:Run the game to see the same :lighting results][:rendering]
|
|||
|
[1:02:04][Consider how to improve SampleHemisphere(), preventing the back-face problem][:blackboard :lighting :rendering]
|
|||
|
[1:06:27][Halve the range of normals that SampleHemisphere() will produce][:lighting :rendering]
|
|||
|
[1:06:47][:Run the game to see light still emanating from back faces][:lighting :rendering]
|
|||
|
[1:08:18][Increase light intensity][:lighting :rendering]
|
|||
|
[1:09:10][:Run the game to see that we must be capping the maximum light brightness][:lighting :rendering]
|
|||
|
[1:11:07][Consider how better to encode the :lighting][:lighting :rendering]
|
|||
|
[1:13:42][Introduce the notion of LightPower in OutputLightingTextures()][:lighting :rendering]
|
|||
|
[1:16:39][Enable CompileZBiasProgram() to handle LightPower][:hardware :lighting :rendering]
|
|||
|
[1:18:14][:Run the game to see that we didn't do that correctly][:lighting :rendering]
|
|||
|
[1:18:50][Make OutputLightingTextures() use the Element to compute the LightColor][:lighting :rendering]
|
|||
|
[1:19:26][:Run the game to see our much more powerful light and the back-face leakage][:lighting :rendering]
|
|||
|
[1:22:52][Assert in SampleHemisphere() that we never sample from behind the hemisphere][:lighting :rendering]
|
|||
|
[1:23:18][:Run the game and do not hit that assertion]
|
|||
|
[1:23:23][Enable OutputTextureDebug() to correctly interpret the :lighting alpha values][:"debug visualisation" :rendering]
|
|||
|
[1:25:28][:Run the game to see that our :lighting samples are heavily red][:lighting :rendering]
|
|||
|
[1:26:19][Increase the voxel resolution][:lighting :rendering]
|
|||
|
[1:26:43][:Run the game to see different artifacts][:lighting :rendering]
|
|||
|
[1:27:40][Temporarily try to make RayCast() collide against back faces][:lighting :rendering]
|
|||
|
[1:28:11][:Run the game to see different light leakage][:lighting :rendering]
|
|||
|
[1:30:22][Toggle OutputLighting() over to OutputLightingQuads()][:"debug visualisation" :lighting :rendering]
|
|||
|
[1:30:57][:Run the game to see the lit quads, noting that we have a double-counting problem][:"debug visualisation" :lighting :rendering]
|
|||
|
[1:32:41][Add LightingDisabled to game_render_settings and enable CompileZBiasProgram() to honour this setting][:"debug visualisation" :hardware :lighting :rendering]
|
|||
|
[1:35:17][Add a LightingDisabled switch to GameUpdateAndRender()][:"debug visualisation" :"debug system"]
|
|||
|
[1:35:50][:Run the game and unsuccessfully toggle LightingDisabled][:"debug visualisation" :lighting :rendering]
|
|||
|
[1:36:27][Introduce MemoryIsEqual()][:memory]
|
|||
|
[1:39:09][:Run the game and successfully toggle LightingDisabled][:"debug visualisation" :lighting :rendering]
|
|||
|
[1:40:08][Introduce DecodePower()][:lighting :rendering]
|
|||
|
[1:43:07][:Run the game and take a look at the :lighting][:"debug visualisation" :rendering]
|
|||
|
[1:43:45][Reduce the light power and :run the game to see hot :lighting][:"debug visualisation" :programming :rendering]
|
|||
|
[1:45:10][Consider enabling us to dynamically set the :Lighting Iteration Count][:rendering :speech]
|
|||
|
[1:46:34][:Run the game to confirm the presence of Iteration Count in the :"debug system" :ui]
|
|||
|
[1:47:35][Provide the ability to set the :Lighting Iteration Count dynamically][:"debug system" :rendering]
|
|||
|
[1:48:23][:Run the game and try increasing the :lighting iteration count][:"debug visualisation" :rendering]
|
|||
|
[1:50:56][Consider the future of :lighting][:rendering :speech]
|
|||
|
[1:52:00][Q&A][:speech]
|
|||
|
[1:52:40][@flyingsolomon][Q: Don't forget that you can now indent your shaders (if you updated ~4coder)]
|
|||
|
[1:53:21][@jojomunki][Q: Could the raycasting be bouncing off the bounds of the scene?][:lighting :rendering]
|
|||
|
[1:53:41][@dragoonx6][SpeedCrunch[ref
|
|||
|
site=SpeedCrunch
|
|||
|
url=http://www.speedcrunch.org/] for a great replacement of wincalc]
|
|||
|
[1:54:45][@deepbluev7][Q: Could Liberapay[ref
|
|||
|
site=Liberapay
|
|||
|
url=https://liberapay.com/about/] be a replacement for Patreon? It's nonprofit and payed for by donations to its own Liberapay account]
|
|||
|
[1:57:40][@ieee754][Q: Just hopped into the stream, are you working on a global illumination approach specific for 2.5D?[ref
|
|||
|
site="Unreal Engine"
|
|||
|
page="Enlighten: Real-Time Global Illumination in Unreal Engine 4"
|
|||
|
url=https://www.unrealengine.com/en-US/showcase/enlighten-real-time-global-illumination-in-unreal-engine-4]][:lighting :rendering]
|
|||
|
[2:00:54][@quickshift_][Q: I'm out of the loop. What's up with Patreon?[ref
|
|||
|
site="The Patreon Blog"
|
|||
|
page="We’re Updating Patreon’s Fee Structure. Here’s Why"
|
|||
|
url=https://blog.patreon.com/updating-patreons-fee-structure/]]
|
|||
|
[2:21:10][@deravadom][Q: I've been having a lot of trouble staying motivated / inspired for new projects. Do you have any tips on how to take an idea and actually bring it fully into existence?]
|
|||
|
[2:25:22][@printf_armin][Q: Did you get depends to work (the new version)]
|
|||
|
[2:25:35][@stav_5][I'm fairly new to the series (only on Day 013) do you recommend coding along with the series? I personally like to just watch and learn rather than copying everything you type, but I don't know]
|
|||
|
[2:26:37][@ieee754][Q: Have you considered applying for twitch partner? (I would subscribe)]
|
|||
|
[2:27:21][@dragoonx6][Q: Consider getting a bitcoin, litecoin, and ethereum wallet, it's an easy way for people to donate. It's hard to get your money out of it, though, but I think it could be worth it]
|
|||
|
[2:28:26][@kelimion][Blog post about Patreon onboarding[ref
|
|||
|
site="Brian Balfour"
|
|||
|
page="Inside the 6 Hypotheses that Doubled Patreon’s Activation Success"
|
|||
|
url=https://brianbalfour.com/essays/patreon-onboarding-growth]][:research]
|
|||
|
[2:33:43][][:speech][quote 605]
|
|||
|
[2:34:24][Continue to address the blog post[ref
|
|||
|
site="Brian Balfour"
|
|||
|
page="Inside the 6 Hypotheses that Doubled Patreon’s Activation Success"
|
|||
|
url=https://brianbalfour.com/essays/patreon-onboarding-growth]][:research]
|
|||
|
[2:41:13][@dragoonx6][Q: What do you think of git lfs, or any other git large asset plugins over centralized source control such as svn or perforce? I've been taking a look and for free (as in pay) solution I actually came to mercurial with its large asset plugin. What do you recommend?][:vcs]
|
|||
|
[2:45:02][Wrap it up][:speech]
|
|||
|
[/video]
|