using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Rendering * @{ */ /// References a subset of surfaces within a texture. [StructLayout(LayoutKind.Sequential), SerializeObject] public partial struct TextureSurface { public TextureSurface(uint mipLevel = 0, uint numMipLevels = 1, uint face = 0, uint numFaces = 1) { this.mipLevel = mipLevel; this.numMipLevels = numMipLevels; this.face = face; this.numFaces = numFaces; } /// First mip level to reference. public uint mipLevel; /// Number of mip levels to reference. Must be greater than zero. public uint numMipLevels; /// /// First face to reference. Face can represent a single cubemap face, or a single array entry in a texture array. If /// cubemaps are laid out in a texture array then every six sequential faces represent a single array entry. /// public uint face; /// Number of faces to reference, if the texture has more than one. public uint numFaces; } /** @} */ }