1.0.1 • Published 8 months ago

dds-ktx-parser v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

dds-ktx-parser

stable

HEADER PARSING

Parse .DDS and .KTX files and return ImageInfo about format, mipmaps and shape of image

  • DDS file parse
  • KTX file parse

On ERROR function will return undefined

interface ImageInfo {
    readonly shape: ImageShape // width and height
    readonly layers: Array<LayerInfo> // mipmap info
    readonly format: ImageFormat // format of image
}

Supported parse Image formats:

  • Compressed (BC1, BC2, BC3, BC4, BC5, BC6H, BC7)
  • Raw formats (RGBA, RGB, RG, R) (TODO)

DATA PARSING

Image can be decoded to RGBA Buffer layer by layer without external dependencies (only CPU usage) Supproted decode formats:

  • BC1
  • BC2
  • BC3
  • BC4
  • BC5
  • BC6H
  • BC7
  • Raw formats - R, RG, RGB (TODO)

    EXAMPLE

import { parseDDSHeader, decodeImage } from './src'
import * as fs from "fs"

const buffer = fs.readFileSync('./tests/resources/dds/bc1.dds')
const imageInfo = parseDDSHeader(buffer)
if (imageInfo) {
    const rgbaBuffer = decodeImage(buffer, imageInfo.format, imageInfo.layers[0])
}

const buffer = fs.readFileSync('./tests/resources/ktx/bc1.ktx')
const imageInfo = parseKTXHeader(buffer)
if (imageInfo) {
    const rgbaBuffer = decodeImage(buffer, imageInfo.format, imageInfo.layers[0])
}
1.0.1

8 months ago

1.0.0

8 months ago