1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
// Rhyoea. Vulkan FFI bindings for Rust // Copyright © 2020 Adrien Jeser <adrien@jeser.me> // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero 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 Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. //! Rhyoea is a Vulkan API bindings for Rust programming language //! //! Vulkan is a low-overhead, cross-platform 3D graphics and computing API. //! Vulkan targets high-performance realtime 3D graphics applications such as //! video games and interactive media across all platforms. Compared to OpenGL //! and `Direct3D` 11, and like `Direct3D` 12 and Metal, Vulkan is intended to //! offer higher performance and more balanced CPU/GPU usage. //! //! Features //! ======== //! None //! //! Reading Suggestions //! =================== //! //! If you start under Rhyoea, you should read the [examples](https://gitlab.com/ametha/rhyoea/tree/master/examples). //! The [instance package](instance/index.html) is the entry point. //! //! Environnement //! ============= //! //! This section itemize how to prepare the developement environnement //! //! Rhyoea use the nightly rust version, with many components. //! You should install it by [`RustUp`](https://rustup.rs/) //! ```shell //! $ curl https://sh.rustup.rs -sSf | sh //! $ rustup install nightly //! ``` //! //! How to use the library //! ---------------------- //! //! Add this in your `Cargo.toml`: //! //! ```shell //! [dependencies] //! rhyoea_common = "^0" //! ``` //! //! Developpement //! ------------- //! //! ```shell //! $ git clone git@gitlab.com:ametha/rhyoea.git //! $ cd rhyoea //! $ rustup override set nightly # Set the nightly rust version //! $ cargo test # Run tests //! ``` //! //! ### New features //! //! The implementation of a new feature follows the steps: //! //! 1. Create an issue on [`Gitlab`](https://gitlab.com/ametha/rhyoea/issues/new) //! 2. The maintener project assign and tag the issue //! 3. Create the merge request //! 4. Pull the branch //! 5. Work on the branch //! 6. Push the branch //! 7. Send a notification to maintener project (@jeser) //! 8. Merge the request #![deny(warnings)] #![deny(absolute_paths_not_starting_with_crate)] #![deny(anonymous_parameters)] #![deny(bare_trait_objects)] #![deny(box_pointers)] #![deny(deprecated_in_future)] #![deny(elided_lifetimes_in_paths)] #![deny(explicit_outlives_requirements)] #![deny(keyword_idents)] #![deny(missing_copy_implementations)] #![deny(missing_debug_implementations)] #![deny(missing_docs)] #![deny(missing_crate_level_docs)] #![deny(private_doc_tests)] #![deny(single_use_lifetimes)] #![deny(trivial_casts)] #![deny(trivial_numeric_casts)] #![deny(unreachable_pub)] #![deny(unused_extern_crates)] #![deny(unused_import_braces)] #![deny(unused_labels)] #![deny(unused_lifetimes)] #![deny(unused_qualifications)] #![deny(unused_results)] #![deny(missing_doc_code_examples)] #![cfg_attr(feature = "cargo-clippy", deny(clippy::all))] #![cfg_attr(feature = "cargo-clippy", deny(clippy::pedantic))] #![cfg_attr(feature = "cargo-clippy", deny(clippy::nursery))] #![cfg_attr(feature = "cargo-clippy", deny(clippy::cargo))] pub mod ffi; pub mod helpers;