Source code for scfile.formats.hdri.decoder

import lz4.block

from scfile.consts import CubemapFaces
from scfile.core import TextureContent
from scfile.formats.ol.decoder import BaseOlDecoder
from scfile.structures.textures import CubemapTexture


[docs] class OlCubemapDecoder(BaseOlDecoder[CubemapTexture]): _content = TextureContent
[docs] def prelude(self): self.data.texture = CubemapTexture()
def _parse_sizes(self): self.data.texture.uncompressed = self._readsizescubemap(self.data.mipmap_count) self.data.texture.compressed = self._readsizescubemap(self.data.mipmap_count) def _parse_mipmaps(self): for mipmap in range(self.data.mipmap_count): for face in range(CubemapFaces.COUNT): self.data.texture.faces[face].append( lz4.block.decompress( self.read(self.data.texture.compressed[mipmap][face]), self.data.texture.uncompressed[mipmap][face], ) )