[43:59][Abandon glGenerateMipmap() and make LoadAssetWork() to generate the MIP maps ourselves][:hardware :optimisation :rendering]
[55:49][Make OpenGLManageTextures() specify the texture subimage of multiple MIP map levels][:hardware :rendering]
[58:08][Introduce Downsample2x() for LoadAssetWork() and our original Downsample() to call][:rendering]
[1:03:03][Create handmade_image.cpp and .h][:rendering]
[1:09:17][Introduce GenerateSequentialMIPs() for LoadAssetWork() to call, IterateMIPs() and the mip_iterator versions of IsValid() and Advance()][:rendering]
[1:15:23][Consider how best to indicate special textures to BeginTextureOp()][:rendering :research]
[1:19:47][Change BeginTextureOp() to take a SizeRequested for LoadBitmap() to pass, introducing GetTotalSizeForMIPs()][:rendering]
[1:24:35][Implement GetTotalSizeForMIPs(), IterateMIPs() and the mip_iterator versions of IsValid() and Advance()][:rendering]
[1:31:09][Step through BeginTextureOp() to debug our new MIP mapping work][:rendering :run]
[1:33:14][Fix GetTotalSizeForMIPs() to correctly accumulate the size, and the mip_iterator version of Advance() to operate the opposite way round][:rendering]
[1:33:49][Step through GetTotalSizeForMIPs() and out to LoadBitmap()][:rendering :run]
[1:36:33][Hit a GL_INVALID_VALUE OpenGL error in OpenGLDebugCallback()][:rendering :run]
[1:39:15][Fix LoadBitmap() to set the TextureOp->GenMipMaps][:rendering]
[1:39:50][Step through GenerateSequentialMIPs() to see that we're not dealing with powers of 2 sizes][:rendering :run]
[1:42:02][Enable the mip_iterator version of Advance and Downsample2x() to handle non-powers of 2 sizes][:rendering]
[1:48:40][Step through GenerateSequentialMIPs() successfully][:rendering :run]
[1:49:32][Investigate the GL_INVALID_VALUE OpenGL error in OpenGLDebugCallback()[ref
[2:28:04][@s0imn][Q: Would you want to add shaders to the :"asset system"?]
[2:29:01][@pragmascrypt][Q: Which textures are considered "special textures", and why do they not want MIP mapping?]
[2:30:37][@nonsensation][Q: (Off-topic) Can you explain these light blue kind of selection bars in ~4coder?]
[2:30:59][@bulmanator][Q: Request to change the name of mip_iterator to mipterator]
[2:31:06][@mattiamanzati][Q: Through stream is difficult to notice. Can we please see an image sent through chat difference between before and after MIP maps?][:rendering]
[2:31:50][Enable OpenGLChangeToSettings() to toggle MIP maps and nearest texel filtering][:hardware :rendering]
[2:41:46][Try toggling nearest texel filtering and MIP maps][:hardware :rendering :run]
[2:43:07][@kniffel5][Q: Is there an easy way to view the MIP maps sent to the GPU and, if so, why didn't you use that feature for debugging purposes before?][:hardware :rendering]
[2:44:32][@nonsensation][Q: Some file formats like DDS have MIP maps already baked in. Is generating them better nowadays or does it actually matter any longer?]
[2:46:17][@abarishu][Q: If we add some packing, would MIP maps interfere with that?][:rendering]
[2:47:39][@variandra][I don't watch you much but I was wondering: Are those settings you toggle, can / do you have a GUI so users can interact, or is that different?][:ui]