diff --git a/Cargo.toml b/Cargo.toml index d1962ad..a654d27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ name = "rust-engine" version = "0.1.0" authors = ["Till "] edition = "2018" +default-run = "rust-engine" [dependencies] vulkano-shaders = "0.20" @@ -19,5 +20,9 @@ gilrs = "0.7.4" gltf = "0.15.2" mgf = "1.4.0" +[[bin]] +name = "converter" +path = "build/converter/src/main.rs" + [profile.dev.package."*"] opt-level = 3 \ No newline at end of file diff --git a/build/converter/src/main.rs b/build/converter/src/main.rs new file mode 100644 index 0000000..29a3e6d --- /dev/null +++ b/build/converter/src/main.rs @@ -0,0 +1,20 @@ +use gltf::image::Source; + +fn main() { + let doc = gltf::Gltf::open("models/box.gltf").unwrap(); + for image in doc.images() { + if let Source::Uri { uri, .. } = image.source() { + println!("{}", uri); + let tex_conv_output = std::process::Command::new("build/nvidia-texture-converter/nvtt_export.exe") + .arg("-q").arg("fastest") + .arg("-f").arg("bc1") + .arg("--no-mips") + .arg("-o").arg(format!("textures/{}.dds", image.name().unwrap())) + .arg(uri) + .current_dir("models") + .output().expect("Failed to run texture converter."); + println!("{:?}", tex_conv_output); + } + + } +} \ No newline at end of file diff --git a/build/nvidia-texture-converter/FreeImage.dll b/build/nvidia-texture-converter/FreeImage.dll new file mode 100644 index 0000000..ddf9120 Binary files /dev/null and b/build/nvidia-texture-converter/FreeImage.dll differ diff --git a/build/nvidia-texture-converter/nvtt_export.exe b/build/nvidia-texture-converter/nvtt_export.exe new file mode 100644 index 0000000..6463f82 Binary files /dev/null and b/build/nvidia-texture-converter/nvtt_export.exe differ