52 lines
3.3 KiB
Plaintext
52 lines
3.3 KiB
Plaintext
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Bases Part I" vod_platform=youtube id=lcmjmOfWPNU annotator=Miblo annotator=dspecht annotator=ZedZull]
|
|
[1:45][Take a look at where we're at]
|
|
[2:05][Make lowercase the accessors for the vectors]
|
|
[6:20][Casey doesn't have enough Emacs-fu to bust that out][quote 45]
|
|
[9:00][Find out if it worked]
|
|
[9:30][Resume work on RenderGroup structure, implementing Clear]
|
|
[10:47][Make DrawRectangle take A which defaults to 1.0f]
|
|
[11:21][Make the Clear call take its values from render_entry_clear]
|
|
[11:57][Make Clear function]
|
|
[12:41][Change R, G, B, A in render_entry_clear to Color]
|
|
[12:54][Cleanup]
|
|
[13:07][Review progress and glimpse into the future]
|
|
[13:39][Ensure that everything's working in-game]
|
|
[14:00][Turn off the GroundBuffers and the 'conditional expression is constant' warning]
|
|
[15:05][Consider what we haven't moved over into the renderer (Outline calls) and note that FillGroundChunk calls the bitmap routines directly, rather than the renderer]
|
|
[16:00][Put PushRectOutline and DrawRectangleOutline into the renderer as more specific concepts]
|
|
[19:44][Run, crash and update PushRectOutline]
|
|
[20:33][View the results in-game and add back in the Space lines]
|
|
[21:37][Make FillGroundChunk go through the renderer]
|
|
[22:59][Introduce GroundRenderGroup]
|
|
[23:36][Let FillGroundChunk use the RenderGroup]
|
|
[25:44][Put in a Clear to verify that things are actually happening]
|
|
[26:26][Change DrawBitmap to PushBitmap and make it use that renderer syntax]
|
|
[26:52][Consider supporting pixel positioning]
|
|
[28:34][View the splatting in-game]
|
|
[28:52][Cheese the pixel positioning by replacing MetersToPixels with 1.0f]
|
|
[29:34][Showcase the live code editing by scaling the placement of the ground elements]
|
|
[31:05][Blackboard: Introduce the concept of coordinate systems and bases]
|
|
[32:55][Blackboard: How we measure, using the dot product]
|
|
[34:24][Blackboard: Axes tend to have two properties: 1) Unit length]
|
|
[36:03][Blackboard: ...and 2) Orthogonal]
|
|
[36:33][Blackboard: Linear independence]
|
|
[38:13][Blackboard: Forget about linear independence]
|
|
[39:12][Blackboard: Orthogonality]
|
|
[42:48][Blackboard: Linear independence]
|
|
[44:40][Blackboard: There's linear algebra afoot here][quote 46]
|
|
[44:54][Blackboard: See why these are important properties]
|
|
[45:26][Blackboard: 3D coordinates]
|
|
[47:14][Blackboard: Basis vectors]
|
|
[50:11][Blackboard: Basis changes: 'MetersToPixels' and 'negate y']
|
|
[55:30][Blackboard: Pretend we had some third universal basis]
|
|
[57:29][Blackboard: How does Casey move a point from world space into screen space?]
|
|
[1:01:17][Blackboard: Preview what we're going to do]
|
|
[1:03:08][Q&A]
|
|
[1:03:41][@mr4thdimention][Would you represent the origin of coordinate systems in a universal coordinate system?]
|
|
[1:06:25][@nicstop][A few streams ago you said you'd prefer to call functions through a macro and then forgot to explain why]
|
|
[1:07:06][@e10dee4d][Why is the familiar moving left to right, or did I miss something?]
|
|
[1:07:32][@cubercaleb][Why are computer coordinates upside-down?]
|
|
[1:12:30][@twinduoq][How important is it to know how to make a game engine vs simply using one? And if you were to use DirectX libraries, how much would the code differ?]
|
|
[1:21:06][Wrap it up with a brief recap and a glimpse into the future]
|
|
[/video]
|