Textures are containers for pixel data. They always have a width, height, and color format. The most simple and common kind of texture is just a 2D texture. But textures can also have depth (3D textures), multiple layers (cubemaps), multiple resolution levels (mipmap levels), or a multisample count. Describing the use cases for all of these is beyond the scope of this tutorial, but they should come up as you learn how to execute certain rendering techniques.
To create a new texture resource, you can set up a `TextureCreateInfo` struct: