10 releases (6 breaking)

Uses old Rust 2015

0.7.0 Jan 2, 2018
0.6.0 Dec 19, 2017
0.5.2 Jul 28, 2017
0.5.1 Mar 28, 2017

#527 in Images

Download history 170/week @ 2023-12-15 68/week @ 2023-12-22 17/week @ 2023-12-29 26/week @ 2024-01-05 25/week @ 2024-01-12 18/week @ 2024-01-19 58/week @ 2024-01-26 18/week @ 2024-02-02 53/week @ 2024-02-09 112/week @ 2024-02-16 144/week @ 2024-02-23 77/week @ 2024-03-01 113/week @ 2024-03-08 59/week @ 2024-03-15 51/week @ 2024-03-22 159/week @ 2024-03-29

390 downloads per month
Used in oculante

LGPL-3.0

29KB
506 lines

dds-rs

pipeline status

Introduction

A library for decoding and encoding DirectDraw Surface files. Currently handles decoding some uncompressed DX9 formats, as well as DXT1-5. Supports encoding in the A8R8G8B8 format. Support for cubemaps and volumes, as well as DX10 is planned.

Project Layout

The dds-rs crate lives in the dds-rs subdirectory of this repo. There also exist several utilities in dds-utils that may eventually get published to crates.io. They also function as examples of how to use dds-rs.

Example input files can be found under examples/.

Examples

extern crate dds;

use std::fs::File;
use std::io::BufReader;
use std::path::Path;

use dds::DDS;

fn main() {
    let file = File::open(Path::new("foo.dds")).unwrap();
    let mut reader = BufReader::new(file);

    let dds = DDS::decode(&mut reader).unwrap();
}

lib.rs:

Handles decoding (and someday encoding) DirectDraw Surface files.

Examples

extern crate dds;

use std::fs::File;
use std::io::BufReader;
use std::path::Path;

use dds::DDS;

fn main() {
    let file = File::open(Path::new("../examples/dxt1.dds")).unwrap();
    let mut reader = BufReader::new(file);

    let dds = DDS::decode(&mut reader).unwrap();
}

Dependencies

~1–1.7MB
~37K SLoC