// // easel3d is a library that provides basic math for 3D transformation and // projection as well as a simple software resterizer. // // All of them implemented as generics so that they work with f64 and other // suitable types. // // This is mainly the result of my learning rust experiments. So it is // very likely not optimal and improvements and suggestions are welcome. // // The rasterization part, called easel consists of two traits (easel and // canvas) where the one is cuttently empty because I found no methods that // I currently need. And the other needs to be implemented to get a // concrete rasterizer. After that one can use all of the other types there. // // Georg Hopp // // Copyright © 2019 Georg Hopp // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // extern crate lazy_static; pub type Error = &'static str; pub mod easel; pub mod transform; pub mod trigonometry; pub mod vector; pub mod geometry; mod utils; use vector::Vector;