[1:36:33][handmade_render_group.cpp: Make BeginRenderGroup() Square the FogColor, and run the game to determine that the Clear does not go through sRGB]
[1:37:06][handmade_platform.h: Label the ClearColor in game_render_commands as not in linear space, but in sRGB space]
[1:39:05][handmade_render_group.cpp: Make Clear() set the FogColor]
[1:41:21][Run the game and consider that to be quite good]
[1:42:30][Consider handling alpha fading of levels nearer to the camera than the hero's current level]
[1:43:39][handmade_world_mode.cpp: Enable AddStandardRoom() to generate stairs]
[1:49:23][Run the game and hop down the stairs]
[1:51:25][handmade_render_group.h: Rename render_entry_cliprect to render_setup for render_entry_textured_quads to contain, and propagate this change, simplifying PushSetup() and OpenGLRenderCommands()]
[2:13:17][handmade_render.cpp: Remove LinearizeClipRects() and PrepForRender()]
[2:14:39][Run the game to see that that worked just great, with a few words on how much cleaner the render commands are now]
[2:16:50][@nyeecola][Has the framerate tanked after implementing fog? Or was that a wrong impression of mine?]
[2:17:02][Compile and run with various optimisation settings]
[2:19:54][@Miblo][Now that we're full 3D, may it be worth extending the debug visualisation rectangles into the third dimension?]
[2:20:19][@nyeecola][Why would you (in this case) compile without optimizations? I don't get how it changes your framerate that much (sorry if this is a dumb question)]
[2:21:28][handmade_sim_region.cpp: Make a KillSwitch to disable GetClosestTraversable()]
[2:23:42][Run the game and compare the framerate with and without GetClosestTraversable() running]
[2:25:43][Step in to GetClosestTraversable() and calculate how many operations it performs, and the number of cycles in which it must execute]
[2:30:12][Look at the disassembly for GetClosestTraversable() when compiled with -Od]
[2:33:00][Switch to -O2 and look at the disassembly for GetClosestTraversable() again]
[2:36:08][Compiling with optimisations on inhibits our ability to debug the code effectively]
[2:39:55][@macielda][How do you feel about Uniform Buffer Objects? Am I right to assume the Render Setup struct could be passed to the shader as an UBO instead of separate Uniforms?]
[2:40:24][@macielda][How does the hero know it should hop to the lower level instead of the upper level at the end of the stairs? Where is the code for that?]
[2:41:10][@thesizik][What does the software renderer look like at the moment?]
[2:41:33][@chrysos42][I assume the problems you solve in Handmade Hero are fairly representative of problems you face as a game dev. Can you comment about any social aspects of being a game dev, e.g. how collaborative or supportive the community is, or what it's like sharing a codebase with a number of others?]
[2:44:18][@rocketbuny][How many lines of code does Handmade Hero have?]