diff options
-rw-r--r-- | Cargo.lock | 646 | ||||
-rw-r--r-- | Cargo.toml | 8 | ||||
-rwxr-xr-x | model_c2rs.py | 50 | ||||
-rw-r--r-- | src/cow_face.rs | 683 | ||||
-rw-r--r-- | src/main.rs | 14 |
5 files changed, 1401 insertions, 0 deletions
diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..7a34130 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,646 @@ +[root] +name = "exuberant-cow" +version = "0.1.0" +dependencies = [ + "glium 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "android_glue" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "backtrace" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "debug-builders 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "backtrace-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bitflags" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "byteorder" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cgl" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gleam 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cocoa" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "color_quant" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "core-foundation" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "core-foundation-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "core-foundation-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "core-graphics" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "core-foundation 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crossbeam" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "dbghelp-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "debug-builders" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "deque" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dlib" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libloading 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dwmapi-sys" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "dylib" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "enum_primitive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "euclid" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "flate2" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fs2" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gcc" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "gdi32-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gif" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gl_generator" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "xml-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gleam" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "glium" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "backtrace 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glutin 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "glob" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "glutin" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "android_glue 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cocoa 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dwmapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdi32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "osmesa-sys 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "shared_library 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "user32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-kbd 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-window 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "x11-dl 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "image" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "enum_primitive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gif 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "jpeg-decoder 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "png 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "inflate" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "jpeg-decoder" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "khronos_api" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lazy_static" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lazy_static" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libloading" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lzw" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "memmap" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fs2 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "miniz-sys" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num_cpus" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "objc" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "osmesa-sys" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "shared_library 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "png" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rayon" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-serialize" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rustc_version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "serde" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "shared_library" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "shell32-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "smallvec" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "tempfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "user32-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wayland-client" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "dlib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-scanner 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-sys 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wayland-kbd" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dlib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "memmap 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wayland-scanner" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "xml-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wayland-sys" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "dlib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wayland-window" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "x11-dl" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "dylib 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "xml-rs" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..e8a02e9 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "exuberant-cow" +version = "0.1.0" +authors = ["bnewbold <bnewbold@robocracy.org>"] + +[dependencies] +glium = "0.*" +image = "0.*" diff --git a/model_c2rs.py b/model_c2rs.py new file mode 100755 index 0000000..ee2e0df --- /dev/null +++ b/model_c2rs.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import sys + +def main(): + if len(sys.argv) != 2 or not sys.argv[1].endswith(".c"): + print("I take a single file to convert; must be a .c file") + sys.exit(-1) + + fname = sys.argv[1][:-2] + infile = open(fname + ".c", 'r') + outfile = open(fname + ".rs", 'w') + + vertices = [] + normals = [] + for line in infile.readlines(): + if line.count(",") != 6: + continue + nums = line.strip().split(",")[:-1] + #print(nums) + assert(len(nums) == 6) + vertices.append(nums[:3]) + normals.append(nums[3:]) + infile.close() + + outfile.write(""" +// This file auto-generated from %s.c using model_c2rs.py +// Don't edit by hand! + +#[derive(Copy, Clone)] +pub struct Vertex { + position: (f32, f32, f32), + normal: (f32, f32, f32), +} +implement_vertex!(Vertex, position, normal); + +pub const %s_vertices: [Vertex; %d] = [ +""" % (fname, fname, len(vertices))) + for i in range(len(vertices)): + v = vertices[i] + n = normals [i] + outfile.write(" Vertex { position: (%s, %s, %s),\n" % (v[0], v[1], v[2])); + outfile.write(" normal: (%s, %s, %s), },\n" % (n[0], n[1], n[2])); + + outfile.write( "];\n") + outfile.close() + print("Done!") + +if __name__ == "__main__": + main() diff --git a/src/cow_face.rs b/src/cow_face.rs new file mode 100644 index 0000000..f2fbb42 --- /dev/null +++ b/src/cow_face.rs @@ -0,0 +1,683 @@ + +// This file auto-generated from cow_face.c using model_c2rs.py +// Don't edit by hand! + +#[derive(Copy, Clone)] +pub struct Vertex { + position: (f32, f32, f32), + normal: (f32, f32, f32), +} +implement_vertex!(Vertex, position, normal); + +pub const cow_face_vertices: [Vertex; 335] = [ + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.133638, 0.26732, -0.954296), + normal: (4.925394, 1.955229, -0.618837), }, + Vertex { position: (0.555353, 0.50765, -0.658692), + normal: (4.953739, 1.95258, -0.592256), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.555353, 0.50765, -0.658692), + normal: (4.953739, 1.95258, -0.592256), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.774925, -0.116115, -0.621296), + normal: (4.953403, 1.907939, -0.605609), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.774925, -0.116115, -0.621296), + normal: (4.953403, 1.907939, -0.605609), }, + Vertex { position: (0.546619, 0.025491, -0.836994), + normal: (4.925499, 1.917814, -0.613413), }, + Vertex { position: (0.872792, -0.115436, -0.474246), + normal: (4.973133, 1.992779, -0.533466), }, + Vertex { position: (0.412833, -0.156453, -0.897269), + normal: (5.001903, 1.914398, -0.486724), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.872792, -0.115436, -0.474246), + normal: (4.973133, 1.992779, -0.533466), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.555353, 0.50765, -0.658692), + normal: (4.953739, 1.95258, -0.592256), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.412833, -0.156453, -0.897269), + normal: (5.001903, 1.914398, -0.486724), }, + Vertex { position: (0.108828, -0.182644, -0.977137), + normal: (4.982364, 1.8733, -0.53619), }, + Vertex { position: (0.823157, 0.134624, -0.551625), + normal: (4.971872, 1.924079, -0.586026), }, + Vertex { position: (0.108828, -0.182644, -0.977137), + normal: (4.982364, 1.8733, -0.53619), }, + Vertex { position: (0.774925, -0.116115, -0.621296), + normal: (4.953403, 1.907939, -0.605609), }, + Vertex { position: (0.774925, -0.116115, -0.621296), + normal: (4.953403, 1.907939, -0.605609), }, + Vertex { position: (0.108828, -0.182644, -0.977137), + normal: (4.982364, 1.8733, -0.53619), }, + Vertex { position: (0.746476, -0.187741, -0.638379), + normal: (4.926194, 1.859813, -0.582137), }, + Vertex { position: (0.546619, 0.025491, -0.836994), + normal: (4.925499, 1.917814, -0.613413), }, + Vertex { position: (0.774925, -0.116115, -0.621296), + normal: (4.953403, 1.907939, -0.605609), }, + Vertex { position: (0.746476, -0.187741, -0.638379), + normal: (4.926194, 1.859813, -0.582137), }, + Vertex { position: (0.546619, 0.025491, -0.836994), + normal: (4.925499, 1.917814, -0.613413), }, + Vertex { position: (0.746476, -0.187741, -0.638379), + normal: (4.926194, 1.859813, -0.582137), }, + Vertex { position: (0.897742, -0.15037, -0.414063), + normal: (4.852578, 1.889721, -0.605031), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.546619, 0.025491, -0.836994), + normal: (4.925499, 1.917814, -0.613413), }, + Vertex { position: (0.897742, -0.15037, -0.414063), + normal: (4.852578, 1.889721, -0.605031), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.897742, -0.15037, -0.414063), + normal: (4.852578, 1.889721, -0.605031), }, + Vertex { position: (0.544735, 0.449335, -0.708069), + normal: (4.824747, 1.946835, -0.626358), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.544735, 0.449335, -0.708069), + normal: (4.824747, 1.946835, -0.626358), }, + Vertex { position: (0.721999, 0.398917, -0.565316), + normal: (4.861611, 2.001639, -0.621913), }, + Vertex { position: (0.711192, 0.127662, -0.69131), + normal: (4.935561, 2.016016, -0.5857), }, + Vertex { position: (0.872792, -0.115436, -0.474246), + normal: (4.973133, 1.992779, -0.533466), }, + Vertex { position: (0.555353, 0.50765, -0.658692), + normal: (4.953739, 1.95258, -0.592256), }, + Vertex { position: (0.711192, 0.127662, -0.69131), + normal: (4.935561, 2.016016, -0.5857), }, + Vertex { position: (0.555353, 0.50765, -0.658692), + normal: (4.953739, 1.95258, -0.592256), }, + Vertex { position: (0.133638, 0.26732, -0.954296), + normal: (4.925394, 1.955229, -0.618837), }, + Vertex { position: (0.909103, 0.416568, -0.001454), + normal: (5.908782, 1.066916, 0.001121), }, + Vertex { position: (0.535268, 0.844682, 0.000171), + normal: (5.871947, 1.021428, 0.001102), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (0.909103, 0.416568, -0.001454), + normal: (5.908782, 1.066916, 0.001121), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (0.054456, -0.320459, -0.945696), + normal: (5.934596, 1.054796, -0.077039), }, + Vertex { position: (0.054456, -0.320459, -0.945696), + normal: (5.934596, 1.054796, -0.077039), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (0.054456, -0.320459, -0.945696), + normal: (5.934596, 1.054796, -0.077039), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (0.169576, -0.140705, -0.975421), + normal: (5.923808, 1.025283, -0.153084), }, + Vertex { position: (0.169576, -0.140705, -0.975421), + normal: (5.923808, 1.025283, -0.153084), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (0.169576, -0.140705, -0.975421), + normal: (5.923808, 1.025283, -0.153084), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (0.120494, -0.516376, -0.847843), + normal: (5.85775, 0.997026, -0.236768), }, + Vertex { position: (0.396941, -0.593504, -0.700137), + normal: (5.755282, 1.004149, -0.307505), }, + Vertex { position: (0.120494, -0.516376, -0.847843), + normal: (5.85775, 0.997026, -0.236768), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (0.396941, -0.593504, -0.700137), + normal: (5.755282, 1.004149, -0.307505), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (0.485455, -0.874253, 0.003847), + normal: (5.895899, 1.18273, -0.164705), }, + Vertex { position: (0.223936, -0.919046, -0.324355), + normal: (5.959462, 1.157227, -0.187097), }, + Vertex { position: (0.051115, -0.906355, -0.419414), + normal: (5.912147, 1.117911, -0.254197), }, + Vertex { position: (0.035706, -0.99787, -0.054588), + normal: (5.849792, 1.19348, -0.181047), }, + Vertex { position: (0.485455, -0.874253, 0.003847), + normal: (5.895899, 1.18273, -0.164705), }, + Vertex { position: (0.051115, -0.906355, -0.419414), + normal: (5.912147, 1.117911, -0.254197), }, + Vertex { position: (0.035706, -0.99787, -0.054588), + normal: (5.849792, 1.19348, -0.181047), }, + Vertex { position: (0.051115, -0.906355, -0.419414), + normal: (5.912147, 1.117911, -0.254197), }, + Vertex { position: (0.161367, -0.802085, -0.574996), + normal: (5.837875, 1.141493, -0.305184), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.064626, -0.99783, 0.012619), + normal: (5.840665, 1.221942, -0.187128), }, + Vertex { position: (0.218068, -0.756332, -0.616772), + normal: (5.77341, 1.225861, -0.323025), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.218068, -0.756332, -0.616772), + normal: (5.77341, 1.225861, -0.323025), }, + Vertex { position: (0.725751, -0.657941, -0.200998), + normal: (5.764774, 1.279824, -0.308562), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.725751, -0.657941, -0.200998), + normal: (5.764774, 1.279824, -0.308562), }, + Vertex { position: (0.188634, -0.17518, -0.966297), + normal: (5.783731, 1.341471, -0.28459), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.188634, -0.17518, -0.966297), + normal: (5.783731, 1.341471, -0.28459), }, + Vertex { position: (0.244568, -0.04472, -0.9686), + normal: (5.847989, 1.311569, -0.261476), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.244568, -0.04472, -0.9686), + normal: (5.847989, 1.311569, -0.261476), }, + Vertex { position: (0.193495, -0.385604, -0.902147), + normal: (5.931474, 1.233483, -0.215613), }, + Vertex { position: (-0.034221, -0.995012, -0.093703), + normal: (5.803425, 1.260787, -0.210002), }, + Vertex { position: (0.193495, -0.385604, -0.902147), + normal: (5.931474, 1.233483, -0.215613), }, + Vertex { position: (0.064626, -0.99783, 0.012619), + normal: (5.840665, 1.221942, -0.187128), }, + Vertex { position: (0.064626, -0.99783, 0.012619), + normal: (5.840665, 1.221942, -0.187128), }, + Vertex { position: (0.193495, -0.385604, -0.902147), + normal: (5.931474, 1.233483, -0.215613), }, + Vertex { position: (0.035706, -0.99787, -0.054588), + normal: (5.849792, 1.19348, -0.181047), }, + Vertex { position: (0.193495, -0.385604, -0.902147), + normal: (5.931474, 1.233483, -0.215613), }, + Vertex { position: (-0.026148, 0.006311, -0.999638), + normal: (5.998088, 1.231874, -0.107334), }, + Vertex { position: (0.485455, -0.874253, 0.003847), + normal: (5.895899, 1.18273, -0.164705), }, + Vertex { position: (0.193495, -0.385604, -0.902147), + normal: (5.931474, 1.233483, -0.215613), }, + Vertex { position: (0.485455, -0.874253, 0.003847), + normal: (5.895899, 1.18273, -0.164705), }, + Vertex { position: (0.035706, -0.99787, -0.054588), + normal: (5.849792, 1.19348, -0.181047), }, + Vertex { position: (0.173726, -0.983856, 0.042973), + normal: (5.672385, 1.007694, -0.341778), }, + Vertex { position: (0.396941, -0.593504, -0.700137), + normal: (5.755282, 1.004149, -0.307505), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (0.173726, -0.983856, 0.042973), + normal: (5.672385, 1.007694, -0.341778), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (0.148862, -0.934725, -0.322692), + normal: (5.580727, 0.99933, -0.349867), }, + Vertex { position: (0.173726, -0.983856, 0.042973), + normal: (5.672385, 1.007694, -0.341778), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (0.148862, -0.934725, -0.322692), + normal: (5.580727, 0.99933, -0.349867), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (0.241652, -0.897637, -0.368581), + normal: (5.535184, 0.98018, -0.341257), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (-0.045194, -0.595739, -0.801906), + normal: (5.638369, 0.904402, -0.222548), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (-0.045194, -0.595739, -0.801906), + normal: (5.638369, 0.904402, -0.222548), }, + Vertex { position: (-0.016623, -0.697515, -0.716378), + normal: (5.546347, 0.916044, -0.246782), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (-0.105003, -0.636187, -0.764356), + normal: (5.748613, 0.92049, -0.205099), }, + Vertex { position: (0.204472, -0.587725, -0.782797), + normal: (5.674999, 0.950754, -0.22796), }, + Vertex { position: (-0.105003, -0.636187, -0.764356), + normal: (5.748613, 0.92049, -0.205099), }, + Vertex { position: (-0.045194, -0.595739, -0.801906), + normal: (5.638369, 0.904402, -0.222548), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (-0.106359, -0.394397, -0.912764), + normal: (5.851404, 0.929008, -0.105362), }, + Vertex { position: (-0.105003, -0.636187, -0.764356), + normal: (5.748613, 0.92049, -0.205099), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (-0.105003, -0.636187, -0.764356), + normal: (5.748613, 0.92049, -0.205099), }, + Vertex { position: (0.256335, -0.2349, -0.937611), + normal: (5.757506, 0.9579, -0.210732), }, + Vertex { position: (0.535268, 0.844682, 0.000171), + normal: (5.871947, 1.021428, 0.001102), }, + Vertex { position: (0.997356, -0.072614, -0.002907), + normal: (5.836005, 0.945722, 0.001092), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (0.997356, -0.072614, -0.002907), + normal: (5.836005, 0.945722, 0.001092), }, + Vertex { position: (-0.106359, -0.394397, -0.912764), + normal: (5.851404, 0.929008, -0.105362), }, + Vertex { position: (-0.091049, -0.145989, -0.985087), + normal: (5.897758, 1.009309, -0.080583), }, + Vertex { position: (-0.106359, -0.394397, -0.912764), + normal: (5.851404, 0.929008, -0.105362), }, + Vertex { position: (-0.126433, -0.433465, -0.892257), + normal: (5.87863, 0.986485, -0.128292), }, + Vertex { position: (-0.026148, 0.006311, -0.999638), + normal: (5.998088, 1.231874, -0.107334), }, + Vertex { position: (0.223936, -0.919046, -0.324355), + normal: (5.959462, 1.157227, -0.187097), }, + Vertex { position: (0.485455, -0.874253, 0.003847), + normal: (5.895899, 1.18273, -0.164705), }, + Vertex { position: (0.161367, -0.802085, -0.574996), + normal: (5.837875, 1.141493, -0.305184), }, + Vertex { position: (0.218068, -0.756332, -0.616772), + normal: (5.77341, 1.225861, -0.323025), }, + Vertex { position: (0.064626, -0.99783, 0.012619), + normal: (5.840665, 1.221942, -0.187128), }, + Vertex { position: (0.161367, -0.802085, -0.574996), + normal: (5.837875, 1.141493, -0.305184), }, + Vertex { position: (0.064626, -0.99783, 0.012619), + normal: (5.840665, 1.221942, -0.187128), }, + Vertex { position: (0.035706, -0.99787, -0.054588), + normal: (5.849792, 1.19348, -0.181047), }, + Vertex { position: (0.241652, -0.897637, -0.368581), + normal: (5.535184, 0.98018, -0.341257), }, + Vertex { position: (-0.007021, -0.990239, -0.139206), + normal: (5.573803, 0.952578, -0.243886), }, + Vertex { position: (-0.016623, -0.697515, -0.716378), + normal: (5.546347, 0.916044, -0.246782), }, + Vertex { position: (0.241652, -0.897637, -0.368581), + normal: (5.535184, 0.98018, -0.341257), }, + Vertex { position: (-0.016623, -0.697515, -0.716378), + normal: (5.546347, 0.916044, -0.246782), }, + Vertex { position: (0.241049, -0.626018, -0.741618), + normal: (5.480649, 0.941387, -0.316248), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.721999, 0.398917, -0.565316), + normal: (4.861611, 2.001639, -0.621913), }, + Vertex { position: (0.711192, 0.127662, -0.69131), + normal: (4.935561, 2.016016, -0.5857), }, + Vertex { position: (0.193291, -0.074799, -0.978286), + normal: (4.897808, 1.946794, -0.628057), }, + Vertex { position: (0.711192, 0.127662, -0.69131), + normal: (4.935561, 2.016016, -0.5857), }, + Vertex { position: (0.133638, 0.26732, -0.954296), + normal: (4.925394, 1.955229, -0.618837), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.444094, 0.036127, 0.895251), + normal: (4.971872, 1.924079, 0.586026), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.444094, 0.036127, 0.895251), + normal: (4.971872, 1.924079, 0.586026), }, + Vertex { position: (0.328548, 0.219459, 0.918637), + normal: (4.953739, 1.95258, 0.592256), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.328548, 0.219459, 0.918637), + normal: (4.953739, 1.95258, 0.592256), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.561013, 0.750789, 0.348684), + normal: (4.897808, 1.946794, 0.628057), }, + Vertex { position: (0.328548, 0.219459, 0.918637), + normal: (4.953739, 1.95258, 0.592256), }, + Vertex { position: (0.444094, 0.036127, 0.895251), + normal: (4.971872, 1.924079, 0.586026), }, + Vertex { position: (0.380651, 0.443224, 0.811577), + normal: (5.001903, 1.914398, 0.486724), }, + Vertex { position: (0.328548, 0.219459, 0.918637), + normal: (4.953739, 1.95258, 0.592256), }, + Vertex { position: (0.380651, 0.443224, 0.811577), + normal: (5.001903, 1.914398, 0.486724), }, + Vertex { position: (0.282492, 0.026081, 0.958915), + normal: (4.973133, 1.992779, 0.533466), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.362705, 0.428702, 0.827442), + normal: (4.982364, 1.8733, 0.53619), }, + Vertex { position: (0.380651, 0.443224, 0.811577), + normal: (5.001903, 1.914398, 0.486724), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.380651, 0.443224, 0.811577), + normal: (5.001903, 1.914398, 0.486724), }, + Vertex { position: (0.444094, 0.036127, 0.895251), + normal: (4.971872, 1.924079, 0.586026), }, + Vertex { position: (0.332757, 0.286207, 0.898531), + normal: (4.926194, 1.859813, 0.582137), }, + Vertex { position: (0.362705, 0.428702, 0.827442), + normal: (4.982364, 1.8733, 0.53619), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.302716, 0.058971, 0.951255), + normal: (4.852578, 1.889721, 0.605031), }, + Vertex { position: (0.332757, 0.286207, 0.898531), + normal: (4.926194, 1.859813, 0.582137), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.302716, 0.058971, 0.951255), + normal: (4.852578, 1.889721, 0.605031), }, + Vertex { position: (0.458202, 0.052175, 0.887316), + normal: (4.953403, 1.907939, 0.605609), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.347794, 0.132396, 0.928176), + normal: (4.824747, 1.946835, 0.626358), }, + Vertex { position: (0.302716, 0.058971, 0.951255), + normal: (4.852578, 1.889721, 0.605031), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.347794, 0.132396, 0.928176), + normal: (4.824747, 1.946835, 0.626358), }, + Vertex { position: (0.347878, 0.028988, 0.937092), + normal: (4.925499, 1.917814, 0.613413), }, + Vertex { position: (0.561013, 0.750789, 0.348684), + normal: (4.897808, 1.946794, 0.628057), }, + Vertex { position: (0.36359, 0.089346, 0.927264), + normal: (4.861611, 2.001639, 0.621913), }, + Vertex { position: (0.347794, 0.132396, 0.928176), + normal: (4.824747, 1.946835, 0.626358), }, + Vertex { position: (0.561013, 0.750789, 0.348684), + normal: (4.897808, 1.946794, 0.628057), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.328548, 0.219459, 0.918637), + normal: (4.953739, 1.95258, 0.592256), }, + Vertex { position: (0.282492, 0.026081, 0.958915), + normal: (4.973133, 1.992779, 0.533466), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.282492, 0.026081, 0.958915), + normal: (4.973133, 1.992779, 0.533466), }, + Vertex { position: (0.361081, -0.056526, 0.93082), + normal: (4.935561, 2.016016, 0.5857), }, + Vertex { position: (0.800967, 0.453079, -0.391371), + normal: (5.934596, 1.054796, 0.077039), }, + Vertex { position: (0.054059, 0.926072, -0.373455), + normal: (5.897758, 1.009309, 0.080583), }, + Vertex { position: (0.535268, 0.844682, 0.000171), + normal: (5.871947, 1.021428, 0.001102), }, + Vertex { position: (0.800967, 0.453079, -0.391371), + normal: (5.934596, 1.054796, 0.077039), }, + Vertex { position: (0.535268, 0.844682, 0.000171), + normal: (5.871947, 1.021428, 0.001102), }, + Vertex { position: (0.909103, 0.416568, -0.001454), + normal: (5.908782, 1.066916, 0.001121), }, + Vertex { position: (0.693689, 0.317887, -0.646331), + normal: (5.923808, 1.025283, 0.153084), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (0.054059, 0.926072, -0.373455), + normal: (5.897758, 1.009309, 0.080583), }, + Vertex { position: (0.693689, 0.317887, -0.646331), + normal: (5.923808, 1.025283, 0.153084), }, + Vertex { position: (0.054059, 0.926072, -0.373455), + normal: (5.897758, 1.009309, 0.080583), }, + Vertex { position: (0.800967, 0.453079, -0.391371), + normal: (5.934596, 1.054796, 0.077039), }, + Vertex { position: (-0.051423, 0.948155, -0.31362), + normal: (5.85775, 0.997026, 0.236768), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (-0.051423, 0.948155, -0.31362), + normal: (5.85775, 0.997026, 0.236768), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (0.693689, 0.317887, -0.646331), + normal: (5.923808, 1.025283, 0.153084), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (-0.051423, 0.948155, -0.31362), + normal: (5.85775, 0.997026, 0.236768), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (-0.051423, 0.948155, -0.31362), + normal: (5.85775, 0.997026, 0.236768), }, + Vertex { position: (0.104327, 0.725166, -0.680625), + normal: (5.755282, 1.004149, 0.307505), }, + Vertex { position: (0.811896, 0.498733, 0.303464), + normal: (5.912147, 1.117911, 0.254197), }, + Vertex { position: (0.969409, 0.243854, 0.027951), + normal: (5.959462, 1.157227, 0.187097), }, + Vertex { position: (0.169215, -0.167065, -0.971317), + normal: (5.895899, 1.18273, 0.164705), }, + Vertex { position: (0.603382, -0.138832, -0.785275), + normal: (5.837875, 1.141493, 0.305184), }, + Vertex { position: (0.811896, 0.498733, 0.303464), + normal: (5.912147, 1.117911, 0.254197), }, + Vertex { position: (0.169215, -0.167065, -0.971317), + normal: (5.895899, 1.18273, 0.164705), }, + Vertex { position: (0.603382, -0.138832, -0.785275), + normal: (5.837875, 1.141493, 0.305184), }, + Vertex { position: (0.169215, -0.167065, -0.971317), + normal: (5.895899, 1.18273, 0.164705), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (0.104604, 0.236958, -0.965872), + normal: (5.764774, 1.279824, 0.308562), }, + Vertex { position: (0.335985, -0.093512, -0.937214), + normal: (5.77341, 1.225861, 0.323025), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (0.104604, 0.236958, -0.965872), + normal: (5.764774, 1.279824, 0.308562), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (-0.026478, 0.945923, -0.323309), + normal: (5.803425, 1.260787, 0.210002), }, + Vertex { position: (-0.0511, 0.977083, -0.206633), + normal: (5.783731, 1.341471, 0.28459), }, + Vertex { position: (0.104604, 0.236958, -0.965872), + normal: (5.764774, 1.279824, 0.308562), }, + Vertex { position: (-0.026478, 0.945923, -0.323309), + normal: (5.803425, 1.260787, 0.210002), }, + Vertex { position: (0.481644, 0.842268, -0.242082), + normal: (5.847989, 1.311569, 0.261476), }, + Vertex { position: (-0.0511, 0.977083, -0.206633), + normal: (5.783731, 1.341471, 0.28459), }, + Vertex { position: (-0.026478, 0.945923, -0.323309), + normal: (5.803425, 1.260787, 0.210002), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (0.794567, 0.588129, -0.15089), + normal: (5.931474, 1.233483, 0.215613), }, + Vertex { position: (0.481644, 0.842268, -0.242082), + normal: (5.847989, 1.311569, 0.261476), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (0.481644, 0.842268, -0.242082), + normal: (5.847989, 1.311569, 0.261476), }, + Vertex { position: (-0.026478, 0.945923, -0.323309), + normal: (5.803425, 1.260787, 0.210002), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (0.794567, 0.588129, -0.15089), + normal: (5.931474, 1.233483, 0.215613), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (0.169215, -0.167065, -0.971317), + normal: (5.895899, 1.18273, 0.164705), }, + Vertex { position: (0.04154, 0.947538, -0.316933), + normal: (5.998088, 1.231874, 0.107334), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (0.04154, 0.947538, -0.316933), + normal: (5.998088, 1.231874, 0.107334), }, + Vertex { position: (0.794567, 0.588129, -0.15089), + normal: (5.931474, 1.233483, 0.215613), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (0.104327, 0.725166, -0.680625), + normal: (5.755282, 1.004149, 0.307505), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (0.104327, 0.725166, -0.680625), + normal: (5.755282, 1.004149, 0.307505), }, + Vertex { position: (-0.011269, -0.268801, -0.96313), + normal: (5.672385, 1.007694, 0.341778), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (-0.011269, -0.268801, -0.96313), + normal: (5.672385, 1.007694, 0.341778), }, + Vertex { position: (-0.01139, 0.953897, -0.299918), + normal: (5.580727, 0.99933, 0.349867), }, + Vertex { position: (-0.151742, 0.274295, -0.949598), + normal: (5.535184, 0.98018, 0.341257), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (-0.01139, 0.953897, -0.299918), + normal: (5.580727, 0.99933, 0.349867), }, + Vertex { position: (0.176955, -0.903058, 0.391373), + normal: (5.546347, 0.916044, 0.246782), }, + Vertex { position: (0.571342, -0.680689, -0.45851), + normal: (5.638369, 0.904402, 0.222548), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (0.176955, -0.903058, 0.391373), + normal: (5.546347, 0.916044, 0.246782), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (0.571342, -0.680689, -0.45851), + normal: (5.638369, 0.904402, 0.222548), }, + Vertex { position: (0.388502, -0.6643, -0.63857), + normal: (5.748613, 0.92049, 0.205099), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (0.571342, -0.680689, -0.45851), + normal: (5.638369, 0.904402, 0.222548), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (0.850248, -0.122854, -0.511845), + normal: (5.674999, 0.950754, 0.22796), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (0.388502, -0.6643, -0.63857), + normal: (5.748613, 0.92049, 0.205099), }, + Vertex { position: (0.20994, -0.930128, 0.301309), + normal: (5.851404, 0.929008, 0.105362), }, + Vertex { position: (0.971427, 0.045661, -0.232906), + normal: (5.757506, 0.9579, 0.210732), }, + Vertex { position: (0.20994, -0.930128, 0.301309), + normal: (5.851404, 0.929008, 0.105362), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (0.054059, 0.926072, -0.373455), + normal: (5.897758, 1.009309, 0.080583), }, + Vertex { position: (0.997356, -0.072614, -0.002907), + normal: (5.836005, 0.945722, 0.001092), }, + Vertex { position: (0.535268, 0.844682, 0.000171), + normal: (5.871947, 1.021428, 0.001102), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (0.20994, -0.930128, 0.301309), + normal: (5.851404, 0.929008, 0.105362), }, + Vertex { position: (0.997356, -0.072614, -0.002907), + normal: (5.836005, 0.945722, 0.001092), }, + Vertex { position: (0.329366, 0.742755, -0.582952), + normal: (5.87863, 0.986485, 0.128292), }, + Vertex { position: (0.997356, -0.072614, -0.002907), + normal: (5.836005, 0.945722, 0.001092), }, + Vertex { position: (0.054059, 0.926072, -0.373455), + normal: (5.897758, 1.009309, 0.080583), }, + Vertex { position: (0.169215, -0.167065, -0.971317), + normal: (5.895899, 1.18273, 0.164705), }, + Vertex { position: (0.969409, 0.243854, 0.027951), + normal: (5.959462, 1.157227, 0.187097), }, + Vertex { position: (0.04154, 0.947538, -0.316933), + normal: (5.998088, 1.231874, 0.107334), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (-0.071389, 0.260053, -0.962952), + normal: (5.840665, 1.221942, 0.187128), }, + Vertex { position: (0.335985, -0.093512, -0.937214), + normal: (5.77341, 1.225861, 0.323025), }, + Vertex { position: (0.054838, 0.68532, -0.726174), + normal: (5.849792, 1.19348, 0.181047), }, + Vertex { position: (0.335985, -0.093512, -0.937214), + normal: (5.77341, 1.225861, 0.323025), }, + Vertex { position: (0.603382, -0.138832, -0.785275), + normal: (5.837875, 1.141493, 0.305184), }, + Vertex { position: (0.083641, -0.81989, 0.566378), + normal: (5.480649, 0.941387, 0.316248), }, + Vertex { position: (0.176955, -0.903058, 0.391373), + normal: (5.546347, 0.916044, 0.246782), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (0.083641, -0.81989, 0.566378), + normal: (5.480649, 0.941387, 0.316248), }, + Vertex { position: (-0.03479, 0.696668, -0.716549), + normal: (5.573803, 0.952578, 0.243886), }, + Vertex { position: (-0.151742, 0.274295, -0.949598), + normal: (5.535184, 0.98018, 0.341257), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.361081, -0.056526, 0.93082), + normal: (4.935561, 2.016016, 0.5857), }, + Vertex { position: (0.36359, 0.089346, 0.927264), + normal: (4.861611, 2.001639, 0.621913), }, + Vertex { position: (0.719268, 0.159442, 0.676189), + normal: (4.925394, 1.955229, 0.618837), }, + Vertex { position: (0.36359, 0.089346, 0.927264), + normal: (4.861611, 2.001639, 0.621913), }, +]; diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..f027359 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,14 @@ + +#[macro_use] +extern crate glium; +extern crate image; + +mod cow_face; + +fn run() { + println!("Hello, world!"); +} + +fn main() { + run(); +} |