inline size_t getTextureSize()

in libraries/hvvr/raycaster/texture.h [56:76]


inline size_t getTextureSize(uint32_t strideElements, uint32_t height, TextureFormat format) {
    size_t elementCount = size_t(strideElements) * height;
    switch (format) {
        case TextureFormat::r8g8b8a8_unorm_srgb:
            return elementCount * 4;
        case TextureFormat::r8g8b8a8_unorm:
            return elementCount * 4;
        case TextureFormat::r16g16b16a16_unorm:
            return elementCount * 8;
        case TextureFormat::r32g32b32a32_float:
            return elementCount * 16;
        case TextureFormat::r16g16b16a16_float:
            return elementCount * 8;
        case TextureFormat::r11g11b10_float:
            return elementCount * 4;
        case TextureFormat::r32_float:
            return elementCount * 4;
    }
    assert(false);
    return 0;
}