MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / GetMipExtent

Function GetMipExtent

deps/LLGL/sources/Renderer/TextureFlags.cpp:125–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125LLGL_EXPORT Extent3D GetMipExtent(const TextureType type, const Extent3D& e, std::uint32_t m)
126{
127 if (m < NumMipLevels(type, e))
128 {
129 switch (type)
130 {
131 case TextureType::Texture1D: return Extent3D{ MipExtent(e.width, m), 1u, 1u };
132 case TextureType::Texture2D: return Extent3D{ MipExtent(e.width, m), MipExtent(e.height, m), 1u };
133 case TextureType::Texture3D: return Extent3D{ MipExtent(e.width, m), MipExtent(e.height, m), MipExtent(e.depth, m) };
134 case TextureType::TextureCube: return Extent3D{ MipExtent(e.width, m), MipExtent(e.height, m), 1u };
135 case TextureType::Texture1DArray: return Extent3D{ MipExtent(e.width, m), e.height, 1u };
136 case TextureType::Texture2DArray: return Extent3D{ MipExtent(e.width, m), MipExtent(e.height, m), e.depth };
137 case TextureType::TextureCubeArray: return Extent3D{ MipExtent(e.width, m), MipExtent(e.height, m), e.depth };
138 case TextureType::Texture2DMS: return Extent3D{ e.width, e.height, 1u };
139 case TextureType::Texture2DMSArray: return Extent3D{ e.width, e.height, e.depth };
140 }
141 }
142 return {};
143}
144
145std::uint32_t GetMemoryFootprint(const TextureType type, const Format format, const Extent3D& extent, const TextureSubresource& subresource)
146{

Callers 4

uint32_t NumMipTexelsMethod · 0.85
GetTextureMipSizeMethod · 0.85

Calls 1

MipExtentFunction · 0.85

Tested by

no test coverage detected