Skip to content

Conventions and Definitions

Dandielo edited this page Aug 4, 2021 · 15 revisions

This page will provide you with an understanding, what conventions the Engine is built around and how are some parts defined. This includes things like coordinate system handedness, matrix definition, etc...

Coordinate system

In IceShard we use a right-handed world coordinate system.

  • The X axis points right
  • The Y axis points up
  • The Z axis points outside (out of the screen to the viewer)

IceShard Coordinate System

Matrix definition

Matrices are column major and operations are applied from right to left.

The data is stored in a 2-dimension array where the first accessor defines the column index, and the second defines the row index.

// Pseudo code definition
Matrix <of `Type`>
{
    Type matrix_data[Columns][Rows]
};