• Creates a procedural box-shaped mesh.

    The size, shape and tesselation properties of the box can be controlled via function parameters. By default, the function will create a box centered on the object space origin with a width, length and height of 1.0 unit and 10 segments in either axis (50 triangles per face).

    Note that the box is created with UVs in the range of 0 to 1 on each face. Additionally, tangent information is generated into the vertex buffer of the box's mesh.

    Parameters

    • device: GraphicsDevice

      The graphics device used to manage the mesh.

    • Optional opts: {
          calculateTangents: boolean;
          halfExtents: Vec3;
          heightSegments: number;
          lengthSegments: number;
          widthSegments: number;
          yOffset: number;
      } = {}

      An object that specifies optional inputs for the function as follows:

      • calculateTangents: boolean

        Generate tangent information (defaults to false).

      • halfExtents: Vec3

        The half dimensions of the box in each axis (defaults to [0.5, 0.5, 0.5]).

      • heightSegments: number

        The number of divisions along the Y axis of the box (defaults to 1).

      • lengthSegments: number

        The number of divisions along the Z axis of the box (defaults to 1).

      • widthSegments: number

        The number of divisions along the X axis of the box (defaults to 1).

      • yOffset: number

        Move the box vertically by given offset in local space. Pass 0.5 to generate the box with pivot point at the bottom face. Defaults to 0.

    Returns Mesh

    A new box-shaped mesh.