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

52 lines
3.2 KiB
Plaintext
Raw Permalink Normal View History

[video output=day091 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Bases Part II" vod_platform=youtube id=2yKKcjBIaL0 annotator=Miblo annotator=dspecht annotator=ZedZull]
[0:54][Blackboard: Clarify linear independence]
[2:18][Blackboard: Bases]
[6:16][Blackboard: What does it mean to say we have an origin?]
[7:46][Blackboard: Consider describing origins and basis vectors in terms of other origins and basis vectors]
[11:52][Blackboard: Why do I care about this at all?]
[12:12][Blackboard: Rotation and scaling]
[14:14][Blackboard: Example rotation]
[15:09][Blackboard: Example scaling]
[16:03][Blackboard: What does that look like in code?]
[19:48][Blackboard: This is what we'd like to introduce into our renderer now]
[20:20][Blackboard: How do we define the X and the Y axis? (Unit circle)]
[24:41][Blackboard: A handy optimisation thanks to being in 2D]
[28:19][Blackboard: You can also directly plug and chug this]
[29:01][Blackboard: Perp operator]
[31:09][Blackboard: All we have to do]
[32:26][Go into the code and create one of these rotating doodads]
[36:18][Run the game to discover that our code is hosed]
[37:21][See what our InvalidDefaultCase says]
[37:58][Let it hit the InvalidDefaultCase sooner]
[38:34][Take a look at the RenderGroup buffer]
[39:52][Step through the code with an eye on PushBufferBase]
[40:41][Moment of realisation: render_entry_coordinate_system was missing its Header]
[41:57][Put our coordinate_system back in there and run again until it hits the InvalidDefaultCase]
[42:22][Put in a case for our coordinate_system]
[43:52][Define the coordinate_system to be something that's visible]
[46:12][View the results in-game and apply transforms]
[47:47][Edit this coordinate system live]
[48:54][Insert some points that are encoded in that axis]
[51:39][Check it out in-game (...or not)]
[52:26][Moment of realisation: It'd be nice if Casey actually used PIndex]
[52:38][Try viewing again]
[53:04][Step through the code watching the coordinates of the Points]
[53:27][Reduce the number of Points and view it in-game]
[54:19][Play with those axes]
[55:26][Do we have pie?][quote 47]
[56:08][Continue playing]
[57:27][Q&A][:speech]
[59:26][@abnercoimbre][Do you usually worry a lot about naming schemes? You always seem to choose a good enough name and move on]
[59:48][@naysayer88][Is that the variable?]
[1:00:10][@kirre1000][How can you draw so fast? Do you use a draw pad and pen?]
[1:00:23][@garlandobloom][I only partly followed, but it seemed fairly easy to get the basic rotation up and running. I'm wondering how much more work it will be to start rendering textures by sampling them across the plane]
[1:01:21][@nicstop][Is it possible to do realloc with memory_arena?]
[1:02:17][@cubercaleb][Are parametrics and polar functions going to be used later on?]
[1:03:06][@cdawzrd][Will subpixel positioning and anti-aliasing be part of the software renderer in the exploration phase?]
[1:04:12][Make the size proportional as well]
[1:05:20][Go nuts with that]
[1:05:55][@cdawzrd][Time-dependent colour][quote 48]
[1:07:11][@cubercaleb][Needs more dots]
[1:07:40][Call it done for the day, with special mention made of that weird pulsating thing and a glimpse into the future][:speech][quote 49]
[/video]