Crate retrofire_core

Source
Expand description
                                                     ______
                        ___                       /´  ____/\
      __ ______ _____ /   /\_ _ ______ _____ __  /   /_/___/\ __ _____ ______
   ==/  ´ ____/ __   \   ____/ ´ ____/  __  ` __    ___,  /==/  ´  ___/ __   \
  ==/   /´=/   ______/  /==/   /´=/   /==/   /=/   /=/   /==/   /´=/   ______/\
 ==/   /==/   /____/   /__/   /==/   /__/   /=/   /=/   /__/   /==/   /______\/
==/___/ ==\_______/\______/__/ ==\________,´_/   /==\______/__/ ==\________/\
==\___\/ ==\______\/\_____\__\/ ==\______/_____,´ /==\_____\___\/==\_______\/
                                         \_____\,´

Core functionality of the retrofire project.

Includes a math library with vectors, matrices, colors, and angles; basic geometry primitives; a software 3D renderer with customizable shaders; with more to come.

§Crate features

  • std: Makes available items requiring I/O, timekeeping, or any floating-point functions not included in core. In particular this means trigonometric and transcendental functions.

    If this feature is disabled, the crate only depends on alloc.

  • libm: Provides software implementations of floating-point functions via the libm crate.

  • mm: Provides fast approximate implementations of floating-point functions via the micromath crate.

All features are disabled by default.

Modules§

  • Basic geometric primitives.
  • Linear algebra and other useful mathematics.
  • Prelude module exporting many frequently used items.
  • Turning 3D geometry into raster images.
  • Various utility types and functions.

Macros§

  • Asserts that two values are approximately equal. Requires that the left operand has an applicable ApproxEq impl and that both operands impl Debug unless a custom message is given.