Scalar - hpgDesigns/hpgdesigns-dev.io GitHub Wiki

ENIGMA implements scalar types for all of its major systems to make it easy to switch between double and floating point precision or other data types for coordinate spaces. Most graphics hardware do not support double point precision for rendering even by emulation, really only a few Nvidia cards do. Double point precision for graphics or physics is only recommended for simulations on planetary scales.

enigmafolder/ENIGMASystem/SHELL/Universal_System/scalar.h is where the scalar definitions can be found and toggled or replaced with other data types.

The following are the built in scalar types...

  • as_scalar : default audio system scalar mainly used for coordinate space and fall off calculations
  • gs_scalar : graphics system scalar mainly used for rendering parameters like coordinate space, texture repitition, and other things
  • cs_scalar : collision system scalar mainly used for coordinate space, angles remain as double because of that being the default C and C++ implementation