[video output=day275 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Passing Rotation and Shear to the Renderer" vod_platform=youtube id=kizKx0bdr3Q annotator=Miblo]
[1:32][Recap and set the stage for the day]
[2:41][A few words on responsiveness vs aesthetics]
[6:01][handmade_world_mode.cpp: Introduce GetClosestTraversable to enable the HeroHead as well as the HeroBody to search for and snap to the closest point]
[11:40][Run the game and see the head snap]
[12:13][handmade_sim_region.cpp: Make the head keep facing in the direction is was going]
[13:19][Run the game and watch the head's facing direction]
[14:42][handmade_world_mode.cpp: Disable the sword in favour of implementating strafe hop]
[15:43][Run the game and try out the strafing]
[16:35][handmade_world_mode.cpp: Make the head not recentre]
[17:19][Run the game and try the movement]
[17:36][handmade_world_mode.cpp: Use a weaker spring to recentre the head]
[18:32][Run the game and try out the recentering]
[19:03][handmade_world_mode.cpp: Make the head not recentre]
[19:49][Run the game and try out the movement]
[23:07][handmade_render_group.h: Add XAxis and YAxis to render_entry_bitmap]
[25:19][handmade_opengl.cpp: Make OpenGLRenderCommands work with render_entry_bitmap]
[27:16][Blackboard: Handling parallelograms]
[29:09][handmade_opengl.cpp: Calculate the four points]
[32:51][handmade_render.cpp and handmade_render_group.cpp: Make DrawRectangleQuickly and PushBitmap work with render_entry_bitmap]
[34:29][Run the game and see that everything is messed up]
[35:01][handmade_open.cpp: Correct the point calculation]
[35:16][Blackboard: How we are calculating the points]
[35:55][Run the game and see that we're good]
[36:06][handmade_render_group.cpp: Consider how best to specify the axes]
[41:52][Blackboard: Rotating the body's YAxis to point to the head]
[47:05][handmade_render_group.cpp: Make PushBitmap and GetBitmapDim take XAxis and YAxis]
[50:57][handmade_world_mode.cpp: Make the body's YAxis point towards the head]
[58:51][Run the game and admire the stretching]
[59:42][Q&A][:speech]
[1:00:19][@soysaucethekid][Zircon encrusted tweezers? Are you moving to Montana soon?]
[1:00:33][@fr0styninja][Why does our limbless hero need suffer in such gruesome ways]
[1:00:59][@twitch_makes_me_itch][Do I need the payed version of Mischief to change the background color?]
[1:01:29][@evraire][Will you try rotation to visually compare against shearing before deciding?]
[1:02:26][@cvaucher][You wrote the scale / shear this way because it's already done in the software renderer but these transformations would usually be done in a vertex shader, right?]
[1:03:52][@novynn][Some other games have done similar move styles, but they use a floating indicator instead of separating the head from the body. Your thoughts?]
[1:04:06][@soysaucethekid][For collision detection will there be skewed boxes as well or will it just be AABB?]
[1:04:35][@garlandobloom][So we move tile to tile? Haven't seen the new movement]
[1:04:46][@erdomina][Are we eventually going to move these over to shaders?]
[1:06:23][@garryjohanson][Any word on the new debugger?]
[1:07:09][@garryjohanson][You had a stream about someone contacting you about making a debugger]
[1:08:50][@insofaras][I doubt the concept of shaders is going anywhere soon]
[1:12:57][@Miblo][Do you think you'll use the spring code from the other day on the camera movement? I'm imagining a critically damped spring would be the thing to use for that]
[1:15:26][@garlandobloom][For camera stuff I just do x += (x - dest) / 10 or something like that. What would that be?]
[1:16:20][@garlandobloom][That's not accounting for t, that's if it was instantaneous]
[1:17:28][@Mr4thDimention][Should be (dest - x) I'm assuming]
[1:17:42][@garlandobloom][I used to do like fixed FPS, so it was fine, but I've changed. Hold on I'll look it up]
[1:18:04][Blackboard: GarlandoBloom's camera movement]
[1:21:06][@jim0_o][Plans on adding camera shake or blur or similar if the hero gets hit or a bolder hits the ground near the hero?]
[1:22:04][Wrap it up][:speech]
[/video]
