Skip to content

Conversation

Firestar99
Copy link
Member

@Firestar99 Firestar99 commented Oct 9, 2025

Requires #380

  • impl Debug and Display
  • document limitations
  • verify abi layout in difftest (the only part that requires #380)
Base automatically changed from vec3-12-bytes to main October 15, 2025 10:09
/// Primarily used in ray tracing extensions to represent object rotation, scale and translation.
///
/// # Limitations
/// These Limitations apply to all structs marked with `#[spirv(matrix)]`, which `Matrix4x3` is the only one in
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels a bit too inward facing. Just state the limitations. I guess you can optionally ask for a task.

pub y: Vec3A,
pub z: Vec3A,
pub w: Vec3A,
pub x_axis: Vec3A,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this change? Is it more or less consistent with other APIs?

Copy link
Member Author

@Firestar99 Firestar99 Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More consistent, now the member names are the same of glam's matrices. Split it out into a separate commit to make it easier to reason about

impl Matrix4x3 {
/// Convert from glam's [`Affine3A`]
pub fn from_affine3a(affine: Affine3A) -> Self {
Self {
x_axis: affine.x_axis,
y_axis: affine.y_axis,
z_axis: affine.z_axis,
w_axis: affine.w_axis,
}
}

@Firestar99 Firestar99 marked this pull request as ready for review October 16, 2025 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants