[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Tilemap Coordinate Systems" vod_platform=youtube id=lDp4rqcigZs annotator=theinternetftw] [0:00][Welcome / Recap] [3:46][On Scrolling] [4:54][Scrolling for Free] [6:44][Preview of Coming Attractions: Math Functions] [11:13][Looking at floorf] [13:07][SSE2] [19:48][Optimization flags: letting the compiler do it for you] [24:19][Math utility layer] [27:27][Trig/Vector Math Looms] [28:48][Coordinate Systems: Why we want them] [33:01][Screen coordinates vs All Math Ever] [40:04][Defining size in pixels and meters] [48:00][TODO: Packing our tilemap indexes] [57:34][TODO: Resolution-independent tile-relative position] [59:28][Q&A][:speech] [1:00:04][Will we be making a map editor?] [1:00:25][What were you talking about in terms of fast floor?] [1:01:09][Do enough people have SSE4? (n.b. steam hardware survey: ~77% have SSE4, ~99.8% SSE3)] [1:03:57][Can you not store anything and just regenerate everything from seed?] [1:06:51][Suggestions for speeding up floor (/fp:fast)] [1:11:09][Why do you do 'Result = foo(); return Result;'?] [1:14:25][Is it a good idea to be drilling down into intrinsics this early on?] [1:15:47][Is tile-relative for the real32 coordinates better than tilepage-relative?] [1:18:30][Why not just store location in world coordinates and div/mod to get tile info?] [1:19:56][Could our sparseness let us better use the top 28 bits of the tilepage index?] [1:24:02][Do you know of the intel intrinsics guide?] [1:25:26][Why is all our game-specific work so far in handmade.cpp?] [1:26:45][Are we going to move the origin to the bottom left?] [1:27:14][Line-drawing suggestion] [1:28:03][Will you be able to find ARM equivalents to your intel-specific instructions?] [1:29:36][How are we going to deal with different types of tiles?] [1:30:35][Week Roadmap / Outro][:speech] [/video]