commit
8c243b80c0
|
@ -0,0 +1 @@
|
||||||
|
pub use self::structs::{Camera};
|
|
@ -0,0 +1,6 @@
|
||||||
|
mod anim;
|
||||||
|
pub use self::anim::{
|
||||||
|
Animation,
|
||||||
|
NodeAnim,
|
||||||
|
MeshAnim,
|
||||||
|
MeshMorphAnim};
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod blob;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod bone;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod camera;
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Color3D {
|
||||||
|
r: f32,
|
||||||
|
g: f32,
|
||||||
|
b: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Color3D {
|
||||||
|
pub fn new(r_f32: f32, g_f32: f32, b_f32: f32) -> Color3D {
|
||||||
|
Color3D {r: r_f32, g: g_f32, b: b_f32 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Color4D {
|
||||||
|
r: f32,
|
||||||
|
g: f32,
|
||||||
|
b: f32,
|
||||||
|
a: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Color4D {
|
||||||
|
pub fn new(r_f32: f32, g_f32: f32, b_f32: f32, a_f32: f32) -> Color4D {
|
||||||
|
Color4D {r: r_f32, g: g_f32, b: b_f32, a: a_f32 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
mod color;
|
||||||
|
pub use self::color::{
|
||||||
|
Color3D,
|
||||||
|
Color4D
|
||||||
|
};
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod face;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod key;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod light;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod material;
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Matrix3x3 {
|
||||||
|
a1: f32,
|
||||||
|
a2: f32,
|
||||||
|
a3: f32,
|
||||||
|
b1: f32,
|
||||||
|
b2: f32,
|
||||||
|
b3: f32,
|
||||||
|
c1: f32,
|
||||||
|
c2: f32,
|
||||||
|
c3: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Matrix4x4 {
|
||||||
|
a1: f32,
|
||||||
|
a2: f32,
|
||||||
|
a3: f32,
|
||||||
|
a4: f32,
|
||||||
|
b1: f32,
|
||||||
|
b2: f32,
|
||||||
|
b3: f32,
|
||||||
|
b4: f32,
|
||||||
|
c1: f32,
|
||||||
|
c2: f32,
|
||||||
|
c3: f32,
|
||||||
|
c4: f32,
|
||||||
|
d1: f32,
|
||||||
|
d2: f32,
|
||||||
|
d3: f32,
|
||||||
|
d4: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Matrix3x3 {
|
||||||
|
pub fn new(
|
||||||
|
a1_f32: f32, a2_f32: f32, a3_f32: f32,
|
||||||
|
b1_f32: f32, b2_f32: f32, b3_f32: f32,
|
||||||
|
c1_f32: f32, c2_f32: f32, c3_f32: f32
|
||||||
|
) -> Matrix3x3 {
|
||||||
|
Matrix3x3 {
|
||||||
|
a1: a1_f32, a2: a2_f32, a3: a3_f32,
|
||||||
|
b1: b1_f32, b2: b2_f32, b3: b3_f32,
|
||||||
|
c1: c1_f32, c2: c2_f32, c3: c3_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Matrix4x4 {
|
||||||
|
pub fn new(
|
||||||
|
a1_f32: f32, a2_f32: f32, a3_f32: f32, a4_f32: f32,
|
||||||
|
b1_f32: f32, b2_f32: f32, b3_f32: f32, b4_f32: f32,
|
||||||
|
c1_f32: f32, c2_f32: f32, c3_f32: f32, c4_f32: f32,
|
||||||
|
d1_f32: f32, d2_f32: f32, d3_f32: f32, d4_f32: f32
|
||||||
|
) -> Matrix4x4 {
|
||||||
|
Matrix4x4 {
|
||||||
|
a1: a1_f32, a2: a2_f32, a3: a3_f32, a4: a4_f32,
|
||||||
|
b1: b1_f32, b2: b2_f32, b3: b3_f32, b4: b4_f32,
|
||||||
|
c1: c1_f32, c2: c2_f32, c3: c3_f32, c4: c4_f32,
|
||||||
|
d1: d1_f32, d2: d2_f32, d3: d3_f32, d4: d4_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
mod matrix;
|
||||||
|
pub use self::matrix::{
|
||||||
|
Matrix3x3,
|
||||||
|
Matrix4x4};
|
|
@ -0,0 +1,35 @@
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct MemoryInfo {
|
||||||
|
textures: u32,
|
||||||
|
materials: u32,
|
||||||
|
meshes: u32,
|
||||||
|
nodes: u32,
|
||||||
|
animations: u32,
|
||||||
|
cameras: u32,
|
||||||
|
lights: u32,
|
||||||
|
total: u32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl MemoryInfo {
|
||||||
|
pub fn new(
|
||||||
|
textures_uint: u32,
|
||||||
|
materials_uint: u32,
|
||||||
|
meshes_uint: u32,
|
||||||
|
nodes_uint: u32,
|
||||||
|
animations_uint: u32,
|
||||||
|
cameras_uint: u32,
|
||||||
|
lights_uint: u32,
|
||||||
|
total_uint: u32) -> MemoryInfo {
|
||||||
|
|
||||||
|
MemoryInfo {
|
||||||
|
textures: textures_uint,
|
||||||
|
materials: materials_uint,
|
||||||
|
meshes: meshes_uint,
|
||||||
|
nodes: nodes_uint,
|
||||||
|
animations: animations_uint,
|
||||||
|
cameras: cameras_uint,
|
||||||
|
lights: lights_uint,
|
||||||
|
total: total_uint
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod memory;
|
||||||
|
pub use self::memory::MemoryInfo;
|
|
@ -0,0 +1,3 @@
|
||||||
|
mod mesh;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod meta;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod node;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod plane;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Plane {
|
||||||
|
a: f32,
|
||||||
|
b: f32,
|
||||||
|
c: f32,
|
||||||
|
d: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Plane {
|
||||||
|
pub fn new(
|
||||||
|
a_f32: f32,
|
||||||
|
b_f32: f32,
|
||||||
|
c_f32: f32,
|
||||||
|
d_f32: f32
|
||||||
|
) -> Plane {
|
||||||
|
Plane {
|
||||||
|
a: a_f32,
|
||||||
|
b: b_f32,
|
||||||
|
c: b_f32,
|
||||||
|
d: d_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
mod quaternion;
|
||||||
|
|
||||||
|
pub use self::quaternion::Quaternion;
|
|
@ -0,0 +1,7 @@
|
||||||
|
use crate::vec;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
pub struct Quaternion {
|
||||||
|
_coordinates: vec::Vector4d
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod ray;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod scene;
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mod string;
|
||||||
|
pub use self::string::MAXLEN;
|
||||||
|
pub use self::string::Str;
|
|
@ -0,0 +1,41 @@
|
||||||
|
pub const MAXLEN: usize = 1024;
|
||||||
|
|
||||||
|
/// Want to consider replacing `Vec<char>`
|
||||||
|
/// with a comparable definition at
|
||||||
|
/// https://doc.rust-lang.org/src/alloc/string.rs.html#415-417
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
struct Str {
|
||||||
|
length: usize,
|
||||||
|
data: Vec<char>
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Str {
|
||||||
|
pub fn new(len_u32: usize, data_string: String) -> Str {
|
||||||
|
Str {
|
||||||
|
length: len_u32,
|
||||||
|
data: data_string.chars().collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// MaterialPropertyStr
|
||||||
|
/// The size of length is truncated to 4 bytes on a 64-bit platform when used as a
|
||||||
|
/// material property (see MaterialSystem.cpp, as aiMaterial::AddProperty() ).
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
struct MaterialPropertyStr {
|
||||||
|
length: usize,
|
||||||
|
data: Vec<char>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
impl MaterialPropertyStr {
|
||||||
|
pub fn new(len_u32: usize, data_string: String) -> MaterialPropertyStr {
|
||||||
|
MaterialPropertyStr {
|
||||||
|
length: len_u32,
|
||||||
|
data: data_string.chars().collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mod texture;
|
||||||
|
pub use self::texture::Texel;
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#[derive(Clone, Debug, Copy)]
|
||||||
|
struct Texel {
|
||||||
|
b: u32,
|
||||||
|
g: u32,
|
||||||
|
r: u32,
|
||||||
|
a: u32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Texel {
|
||||||
|
pub fn new(b_u32: u32, g_u32: u32,
|
||||||
|
r_u32: u32, a_u32: u32) -> Texel {
|
||||||
|
Texel {
|
||||||
|
b: b_u32,
|
||||||
|
g: g_u32,
|
||||||
|
r: r_u32,
|
||||||
|
a: a_u32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod transform;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod vec;
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
struct Vector2d {
|
||||||
|
x: f32,
|
||||||
|
y: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Vector3d {
|
||||||
|
x: f32,
|
||||||
|
y: f32,
|
||||||
|
z: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Vector4d {
|
||||||
|
x: f32,
|
||||||
|
y: f32,
|
||||||
|
z: f32,
|
||||||
|
w: f32
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Vector2d {
|
||||||
|
pub fn new(x_f32: f32, y_f32: f32) -> Vector2d {
|
||||||
|
Vector2d {
|
||||||
|
x: x_f32,
|
||||||
|
y: y_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Vector3d {
|
||||||
|
pub fn new(x_f32: f32, y_f32: f32, z_f32: f32) -> Vector3d {
|
||||||
|
Vector3d {
|
||||||
|
x: x_f32,
|
||||||
|
y: y_f32,
|
||||||
|
z: z_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Vector4d {
|
||||||
|
pub fn new(x_f32: f32, y_f32: f32, z_f32: f32, w_f32: f32) -> Vector4d {
|
||||||
|
Vector4d {
|
||||||
|
x: x_f32,
|
||||||
|
y: y_f32,
|
||||||
|
z: z_f32,
|
||||||
|
w: w_f32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod vertex;
|
||||||
|
// pub use self::vertex::
|
Loading…
Reference in New Issue