Expand description

This module is home to the Viewport, which handles the projecting of ViewElement3Ds to a format then displayable by a View

Structs

  • A Face contains indices to a mesh’s collection of vertices and a fill_char to fill the face. Indices should be arranged in a clockwise order, as if they appear counter-clockwise when rendering they will not be rendered at all (this is how gemini-engine handles backface culling and maximises performance)
  • The Transform3D struct is used to manipulate the position of objects in 3D space
  • A point in 3D space, using f64s
  • The Viewport handles printing 3D objects to a 2D View, and also acts as the scene’s camera.

Enums

  • DisplayMode determines how the Viewport renders our 3D objects. This is the Gemini equivalent of Blender’s Viewport Shading options

Traits

  • ViewElement3D is a trait that must be implemented by any 3D object to be rendered using a Viewport