pub fn draw_affine_parallelepiped(
    offset: Vec3,
    e1: Vec3,
    e2: Vec3,
    e3: Vec3,
    texture: Option<&Texture2D>,
    color: Color
)
Expand description

Draw an affine (3D) parallelepiped at given position, using six parallelograms.

The drawn parallelepiped will be built from the followwing parallelograms:

  • offset, offset + e1, offset + e2
  • offset, offset + e2, offset + e3
  • offset, offset + e1, offset + e3
  • offset, offset + e1 + e2, offset + e1 + e3
  • offset, offset + e2 + e1, offset + e2 + e3
  • offset, offset + e3 + e1, offset + e3 + e2

§Arguments

  • offset - Offset of the first point from the origin
  • e1, e2, e3 - Base vectors for the parallelepiped
  • texture - Optional Texture2D to apply, which will repeat on each face (todo! support custom uv values per vertex, multiple textures?)
  • color - The Color to draw the parallelepiped (todo! support color per face?)

§Examples

Draw an axis aligned cube

draw_affine_parallelepiped(Vec3::ZERO, 3. * Vec3::X, 2. * Vec3::Y, 5. * Vec3::Z, None, RED);