[video output=day104 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Switching to Y-is-up Render Targets" vod_platform=youtube id=CfjMu8DwOnY annotator=Miblo annotator=dspecht] [2:22][Z is kind of up in the air][quote 71] [4:06][Recap where we left off last week] [6:53][Take a look at handmade_render_group.h] [7:54][Toggle off the normal mapping test code] [8:40][Toggle on the bitmap rendering] [10:48][Toggle off the yellow debug lines] [12:53][Define a couple of things in handmade_render_group.h] [17:38][Reach back into our memories to the time we were working on ResizeDIBSection] [19:08][Flip the sign of Buffer->Height] [20:19][Walk through the functions in handmade_render_group.cpp] [23:57][Arrive at GetRenderEntityBasisP and change it to handle X and Y symmetrically] [25:22][Introduce TODO(casey): ZHANDLING] [26:10][Continue walking through the functions and remove any instances of Y negation] [27:07][Take a look at how Align is computed at asset loading time and introduce SetTopDownAlign] [29:58][Blackboard: Flipping the Bitmap alignment] [31:15][Write SetTopDownAlign] [33:02][Pop back over to handmade_render_group.cpp] [33:46][Check it out in-game] [34:16][Load the bitmaps bottom-up] [36:18][Check it out in-game] [37:13][Fix the jump direction] [39:20][Fix the bitmap alignments (for now)] [41:49][We are back to parity] [43:06][Take a look at the GroundBuffer sorting] [46:07][Flip the sign of ChunkOffsetY in FillGroundChunk] [46:31][On the importance of focusing on whatever it is that you're focusing on, and to know when to stop and correct things] [48:27][Casey thinks we're in good shape there] [49:07][Q&A][:speech] [50:51][@chronaldragon][Q: Has this work fixed the normal map issue or will we need to address that specifically?] [51:46][@tloch14][Do you think that making the Y component to be bottom-up will also help make sense of game mechanics like gravity?] [52:34][@glasses_boy][Will we be implementing a matrix/affine transform in order to handle changes to coordinate systems?] [53:01][Blackboard: Multiplying an incoming vector by a matrix] [58:25][Blackboard: The homogeneous matrix][quote 72] [1:01:40][@pseudonym73][The mods had a lot of work to do today, just so you know] [1:02:05][@stiegosaurus][Casey, maybe I missed it, but when will the Z ordering be done to visually correct sprites in front and behind the character?] [1:02:41][@pseudonym73][It's more correct to call that the "translation part". The entire upper part is affine] [1:05:17][@chochmah][When you exit the program, Visual Studio says that there are about 8 threads terminated. Is there more than one thread in Handmade Hero right now?] [1:07:15][@cubercaleb][Would it be possible to have the renderer set up so the world curves back as you move along the Y-axis?] [1:10:44][Go ahead and end][:speech] [/video]