gltf_json/extensions/
camera.rs

1use gltf_derive::Validate;
2use serde_derive::{Deserialize, Serialize};
3#[cfg(feature = "extensions")]
4use serde_json::{Map, Value};
5
6/// A camera's projection.
7///
8/// A node can reference a camera to apply a transform to place the camera in the
9/// scene.
10#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
11pub struct Camera {
12    #[cfg(feature = "extensions")]
13    #[serde(default, flatten)]
14    pub others: Map<String, Value>,
15}
16
17/// Values for an orthographic camera.
18#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
19pub struct Orthographic {
20    #[cfg(feature = "extensions")]
21    #[serde(default, flatten)]
22    pub others: Map<String, Value>,
23}
24
25/// Values for a perspective camera.
26#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
27pub struct Perspective {
28    #[cfg(feature = "extensions")]
29    #[serde(default, flatten)]
30    pub others: Map<String, Value>,
31}