1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-22 12:47:45 +00:00

Improve the docs for model file ops and vertex declarations

This commit is contained in:
Joshua Goins 2024-04-14 13:46:10 -04:00
parent 60d6382fbf
commit ed9d7936e1
2 changed files with 7 additions and 2 deletions

View file

@ -7,7 +7,7 @@ use half::f16;
use crate::ByteSpan;
use crate::model::MDL;
// Maximum value of byte, used to divide and multiply floats in that space [0.0..1.0] to [0..255]
/// Maximum value of byte, used to divide and multiply floats in that space [0.0..1.0] to [0..255]
const MAX_BYTE_FLOAT: f32 = u8::MAX as f32;
impl MDL {

View file

@ -5,9 +5,10 @@ use std::io::SeekFrom;
use binrw::{BinRead, BinResult, binrw, BinWrite};
use crate::model::NUM_VERTICES;
// Marker for end of stream (0xFF)
/// Marker for end of stream (0xFF)
const END_OF_STREAM: u8 = 0xFF;
/// The format of the vertex stream.
#[binrw]
#[brw(repr = u8)]
#[derive(Copy, Clone, Debug, PartialEq)]
@ -48,6 +49,7 @@ pub enum VertexType {
UnsignedShort4 = 17
}
/// What the vertex stream is used for.
#[binrw]
#[brw(repr = u8)]
#[derive(Copy, Clone, Debug, PartialEq)]
@ -62,6 +64,7 @@ pub enum VertexUsage {
Color = 7,
}
/// Represents an element within a bigger vertex stream.
#[binrw]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(dead_code)]
@ -75,6 +78,8 @@ pub struct VertexElement {
pub usage_index: u8,
}
/// Represents the true size of VertexElement. Always use this value instead of std::mem::size_of.
// 3 extra bytes to account for the padding that doesn't appear in the struct itself
pub const VERTEX_ELEMENT_SIZE: usize = std::mem::size_of::<VertexElement>() + 3;
#[derive(Clone, Debug, PartialEq)]