Anyways, target goal for this week is to get most if not all of the block request system up. At that point, all that'll be left to do is arrangement of blocks, uploading blocks to the video card, setting up and applying texture matrices, and actually making the hardware draw something.
By the way, regarding block arrangement... I decided that for right now if there is an internal hole in a texture* I'll just leave the space allocated for the texture, but it won't be filled. Previously, I had the idea of doing some really aggressive arrangement of blocks so that that occluded part of the texture would not only not appear in the D3DPOOL_DEFAULT texture, but a smaller texture that could fit in would be moved in. I decided to omit the latter point for two reasons:
1) Massive amount of checks for what is probably not going to be that great of a gain
2) If it's an internal hole, chances are it's an occluder that is not going to be there for an extended period of time, and so the blocks bordering that hole will be changing a lot, meaning that there will be a lot of extra thrashing because a seperate texture stored in the hole will be moving around accordingly, or have to find some other space.
Note that this is different from just occluding sides of a texture, which I will still do, since that will give a lot more savings, be more consistent, and be simpler to make.
Also this will be just for the pre-shader version of the algorithm. I had a small idea that could be useful for when I upgrade from basically DX7 tech to DX9 (which would actually make the system MORE like virtual memory than it is right now) that would basically make the non-filling of internal holes a non-issue.
*Let's say we have a simple scene. The camera is looking at a wall and there's a character in front of the center of the wall, occluding part of the texture.