1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4 clippy::cast_possible_truncation,
5 clippy::doc_markdown,
6 clippy::missing_const_for_fn,
7 clippy::missing_errors_doc,
8 clippy::module_name_repetitions,
9 clippy::must_use_candidate,
10 clippy::redundant_pub_crate,
11 clippy::return_self_not_must_use,
12 clippy::similar_names,
13 clippy::struct_excessive_bools,
14 clippy::too_many_lines
15)]
16
17mod animated_value_types;
18mod animation;
19mod asset;
20mod asset_resolver;
21mod camera;
22mod error;
23mod ffi;
24mod handle;
25mod light;
26mod light_probe;
27mod material;
28mod mesh;
29mod mesh_buffer;
30mod object;
31mod physically_plausible_light;
32mod protocols;
33mod sdk_constants;
34mod skeleton;
35mod submesh;
36mod texture;
37mod transform;
38mod types;
39mod util;
40mod utility;
41mod value_types;
42mod vertex_attribute;
43mod voxel_array;
44
45pub use animated_value_types::{
46 AnimatedMatrix4x4, AnimatedQuaternion, AnimatedQuaternionArray, AnimatedScalar,
47 AnimatedScalarArray, AnimatedValue, AnimatedVector2, AnimatedVector3, AnimatedVector3Array,
48 AnimatedVector4,
49};
50pub use animation::{AnimationBindComponent, PackedJointAnimation};
51pub use asset::Asset;
52pub use asset_resolver::{
53 AssetResolver, AssetResolverEvent, AssetResolverResponse, BundleAssetResolver,
54 PathAssetResolver, RelativeAssetResolver,
55};
56pub use camera::{Camera, StereoscopicCamera};
57pub use error::{ModelIoError, Result};
58pub use light::Light;
59pub use light_probe::{LightProbe, LightProbeIrradianceDataSource};
60pub use material::{
61 Material, MaterialProperty, MaterialPropertyConnection, MaterialPropertyGraph,
62 MaterialPropertyNode, PhysicallyPlausibleScatteringFunction, ScatteringFunction,
63 TextureFilter, TextureSampler,
64};
65pub use mesh::{Mesh, MeshBuffer, VertexAttributeData};
66pub use mesh_buffer::{
67 MeshBufferAllocator, MeshBufferAllocatorEvent, MeshBufferAllocatorResponse, MeshBufferData,
68 MeshBufferDataAllocator, MeshBufferMap, MeshBufferZone, MeshBufferZoneDefault,
69};
70pub use object::{Object, ObjectContainer};
71pub use physically_plausible_light::{AreaLight, PhotometricLight, PhysicallyPlausibleLight};
72pub use protocols::{Component, JointAnimation, Named, ObjectContainerComponent};
73pub use sdk_constants::{ut_type, vertex_attribute_name};
74pub use skeleton::Skeleton;
75pub use submesh::{Submesh, SubmeshTopology};
76pub use texture::Texture;
77pub use transform::{
78 Transform, TransformComponent, TransformComponentEvent, TransformComponentResponse,
79 TransformMatrixOp, TransformOp, TransformOpEvent, TransformOpResponse, TransformOrientOp,
80 TransformRotateOp, TransformRotateXOp, TransformRotateYOp, TransformRotateZOp,
81 TransformScaleOp, TransformStack, TransformTranslateOp,
82};
83pub use types::{
84 vertex_format, AnimatedValueInfo, AnimatedValueInterpolation, AreaLightInfo, AssetInfo,
85 BoundingBox, CameraInfo, CameraProjection, DataPrecision, GeometryType, IndexBitDepth,
86 LightInfo, LightType, MaterialFace, MaterialInfo, MaterialMipMapFilterMode,
87 MaterialPropertyInfo, MaterialPropertyType, MaterialSemantic, MaterialTextureFilterMode,
88 MaterialTextureWrapMode, Matrix4x4ArrayInfo, MeshBufferInfo, MeshBufferType, ObjectInfo,
89 ObjectKind, PackedJointAnimationInfo, PhotometricLightInfo, PhysicallyPlausibleLightInfo,
90 ProbePlacement, SkeletonInfo, StereoscopicCameraInfo, TextureChannelEncoding,
91 TextureFilterInfo, TextureInfo, TextureSamplerInfo, TransformOpRotationOrder,
92 VertexAttributeDescriptorInfo, VertexAttributeInfo, VertexDescriptorInfo, VoxelArrayInfo,
93 VoxelIndexExtent,
94};
95pub use utility::Utility;
96pub use value_types::Matrix4x4Array;
97pub use vertex_attribute::{VertexAttribute, VertexBufferLayout, VertexDescriptor};
98pub use voxel_array::VoxelArray;
99
100pub mod prelude {
102 pub use crate::{
103 ut_type, vertex_attribute_name, vertex_format, AnimatedMatrix4x4, AnimatedQuaternion,
104 AnimatedQuaternionArray, AnimatedScalar, AnimatedScalarArray, AnimatedValue,
105 AnimatedValueInfo, AnimatedValueInterpolation, AnimatedVector2, AnimatedVector3,
106 AnimatedVector3Array, AnimatedVector4, AnimationBindComponent, AreaLight, AreaLightInfo,
107 Asset, AssetInfo, AssetResolver, AssetResolverEvent, AssetResolverResponse, BoundingBox,
108 BundleAssetResolver, Camera, CameraInfo, CameraProjection, Component, DataPrecision,
109 GeometryType, IndexBitDepth, JointAnimation, Light, LightInfo, LightProbe,
110 LightProbeIrradianceDataSource, LightType, Material, MaterialFace, MaterialInfo,
111 MaterialMipMapFilterMode, MaterialProperty, MaterialPropertyConnection,
112 MaterialPropertyGraph, MaterialPropertyInfo, MaterialPropertyNode,
113 MaterialPropertyType, MaterialSemantic, MaterialTextureFilterMode,
114 MaterialTextureWrapMode, Matrix4x4Array, Matrix4x4ArrayInfo, Mesh, MeshBuffer,
115 MeshBufferAllocator, MeshBufferAllocatorEvent, MeshBufferAllocatorResponse,
116 MeshBufferData, MeshBufferDataAllocator, MeshBufferInfo, MeshBufferMap,
117 MeshBufferType, MeshBufferZone, MeshBufferZoneDefault, ModelIoError, Named, Object,
118 ObjectContainer, ObjectContainerComponent, ObjectInfo, ObjectKind,
119 PackedJointAnimation, PackedJointAnimationInfo, PathAssetResolver,
120 PhotometricLight, PhotometricLightInfo, PhysicallyPlausibleLight,
121 PhysicallyPlausibleLightInfo, PhysicallyPlausibleScatteringFunction, ProbePlacement,
122 RelativeAssetResolver, Result, ScatteringFunction, Skeleton, SkeletonInfo,
123 StereoscopicCamera, StereoscopicCameraInfo, Submesh, SubmeshTopology, Texture,
124 TextureChannelEncoding, TextureFilter, TextureFilterInfo, TextureInfo, TextureSampler,
125 TextureSamplerInfo, Transform, TransformComponent, TransformComponentEvent,
126 TransformComponentResponse, TransformMatrixOp, TransformOp, TransformOpEvent,
127 TransformOpResponse, TransformOpRotationOrder, TransformOrientOp, TransformRotateOp,
128 TransformRotateXOp, TransformRotateYOp, TransformRotateZOp, TransformScaleOp,
129 TransformStack, TransformTranslateOp, Utility, VertexAttribute, VertexAttributeData,
130 VertexAttributeDescriptorInfo, VertexAttributeInfo, VertexBufferLayout,
131 VertexDescriptor, VertexDescriptorInfo, VoxelArray, VoxelArrayInfo, VoxelIndexExtent,
132 };
133}