aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock646
-rw-r--r--Cargo.toml8
-rwxr-xr-xmodel_c2rs.py50
-rw-r--r--src/cow_face.rs683
-rw-r--r--src/main.rs14
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();
+}