[video output=day085 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Transient Ground Buffers" vod_platform=youtube id=QhjuxnQyBwk annotator=Miblo annotator=dspecht] [1:18][Recap of yesterday's repeating ground texture work] [2:18][Blackboard: A smarter way to do things] [5:19][Blackboard: Why don't we just make an array of tiles...?] [6:40][Introduce TransientArena] [8:38][Two memory areas: permanent storage and not-necessarily-permanent storage] [9:40][Create that TransientArena] [10:21][Allocate some space out of the TransientArena for the GroundBuffer] [11:47][Make space for the array of empty bitmaps] [12:33][Loop through them and allocate empty buffers] [13:54][Provide the option to ClearToZero] [15:16][Spec out GroundBufferHeight and GroundBufferWidth] [16:51][Put GroundBuffer into a loop] [17:51][How is the Bitmap aligned in the world?] [18:57][Find where the GroundBuffer is relative to the Camera] [20:50][Make sure that we're not drawing a GroundBuffer here if it isn't valid] [21:56][Which of our GroundBuffers actually has been getting used?] [23:03][Blackboard: Least Recently Used] [27:11][Look at what's in the structure] [28:50][Introduce GroundBitmapTemplate exemplar] [31:21][Limitations of the automatic dll-loading] [32:26][Debug GroundBuffers] [33:35][Owl of Shame Moment: There should have been a TODO about making the TransientArena do something real] [34:22][Blackboard: Memory partitioning schemes] [38:56][Introduce some way for us to use the memory in the TransientArena effectively] [40:33][Introduce transient_state] [41:12][Blackboard: What's in our stack?] [42:27][Transient initialization] [46:47][Pass the TransientArena to SimRegion] [47:12][Blackboard: Bungee back to the base line that was just after the GroundBuffer] [47:49][Let the Arenas do pushes and pops] [48:09][Insurance policy] [48:35][Implement the bungee and additional security] [53:13][Step through the code] [54:54][FillGroundChunk] [58:00][View the results in-game] [59:11][Q&A][:speech] [59:35][@garlandobloom][Q: What is the most expired food you have ever eaten?] [59:51][Q: Could you explain what pop and push are, and how they work?] [1:01:29][Blackboard: Memory is a big line!] [1:10:49][Q: How will the ground texture chunking handle adjacent rooms with different types of ground?] [1:13:29][Closing remarks][:speech] [/video]