[package] name = "tmf" version = "0.2.1" edition = "2021" license-file = "LICENSE" license = "MIT" description = "TMF is a 3D model compression format achieving compression ratio of between 4.2 and 1.95, while being very fast to read and having no visual difference between compressed and uncompressed models." repository = "https://github.com/FractalFir/tmf" authors = ["FractalFir "] keywords = ["graphics","3D","compression","lossy","gamedev"] categories = ["game-development","rendering::data-formats","compression"] ##! Test [dependencies] document-features = "0.2.7" futures = { version = "0.3.28" } lazy_static = { version = "1.4.0", optional = true } smallvec = "1.10.0" thiserror = "1" tokio = { version = "1.28.1", features = ["rt", "rt-multi-thread"], optional = true } [dev-dependencies] criterion = "0.5.1" rand = "0.8.5" [features] default = ["obj_import"]#, "tokio_runtime" ## Experimental triangulation in .obj loader. Supports only convex polygons ATM, and has bugs, triangulating your mesh in 3D modelling software before importing highly advised. Please note that if you see any triangles missing this is likely the result of the triangulation algorithm not working properly. triangulation = [] ## Changes the sin and cos function used in reading the tmf files for a potentially faster, but less accurate functions. fast_trig = [] ## Changes the precision of read data from single to double point precision. double_precision = [] ## Changes the index format to long(u64) in order to support reading models with over 2^32 - 1 points, at cost of increased memory footprint. long_indices = [] ## Changes the index format to short(u16), decreasng memory footprint, but limiting max model vertex count to 2^16 - 1(65535). short_indices = [] ## Changes the internal setting of the unaligned reader to use different data size. Can be beneficial for small models on some systems. byte_rw = [] model_importer = [] ## Adds the ability to import/export .obj files. obj_import = ["model_importer"] ## Use the tokio runtime, significantly increasing performance of synchronous loads, at the cost of minor compile time increase. tokio_runtime = ["tokio", "lazy_static"] [[bench]] name = "unaligned_rw" harness = false [[bench]] name = "read_write_tmf" harness = false [profile.bench] #TODO: REMEMBER to set debug to false before release! debug = true