clay_core/
lib.rs

1//! Core functionality for [Clay project](https://clay-rs.github.io/).
2
3/// Own error type.
4pub mod error;
5/// Own result type.
6pub mod result;
7
8/// Serialization of entities for storing them on the device.
9pub mod pack;
10/// Representation of entities that could be stored in the device.
11pub mod store;
12/// Pushing arguments to the device kernel.
13pub mod push;
14/// Rust type hashing to generate unique identfiers in device code.
15pub mod type_hash;
16
17/// Traits for device code interfaces definition.
18pub mod class;
19/// Basic macro for making a union of entities.
20pub mod select;
21
22/// Mappings in render space.
23pub mod map;
24/// Shape of an object. 
25pub mod shape;
26/// Material of an object.
27pub mod material;
28/// Object to render.
29pub mod object;
30
31/// Scene to be rendered.
32pub mod scene;
33/// View of the scene.
34pub mod view;
35
36/// Filter for rendered image postprocessing.
37pub mod filter;
38
39/// Context of the device code execution.
40pub mod context;
41/// Various device buffers.
42pub mod buffer;
43/// Functionality for rendering pipeline.
44pub mod process;
45
46/// Loading the device OpenCL source code.
47pub mod source;
48
49/// Reexport of the basic traits.
50pub mod prelude {
51    pub use crate::pack::*;
52    pub use crate::push::*;
53    pub use crate::store::*;
54    pub use crate::type_hash::*;
55    pub use crate::class::*;
56}
57
58
59pub use error::Error;
60pub use result::Result;
61
62pub use prelude::*;
63pub use context::*;
64pub use source::*;