I'm currently working on migrating Texture over to the pluggable resource system. Some things I've observed while working on it:
- The depth member is re-purposed to store the subtexture count for texture arrays, which greatly increases the complexity of some logic. I'm going to separate this out into a separate member
- The Texture object deals with the source, desired and actual formats and size. Because it is no longer relevant to OgreMain, I'm going to remove the source portion of the equation from Texture. In addition, my intention is to remove the desired and actual distinction: the uploader will set the properties they want, then call "_determineInternalFormat()". The render system will attempt to match the desired format as best possible, but will replace the properties of the texture object with the selected properties
My current plan is
- Implement an _uploadBufffers method which provides a "create-and-upload-in-one" solution similar to that used by D3D11.
- Mandate the use of _uploadBuffers for TU_STATIC[_WRITE_ONLY?] textures