Skip to content

Conversation

@bvssvni
Copy link
Member

@bvssvni bvssvni commented Dec 7, 2018

Adds 4D matrix to Dyon.

For design, see #557

Uses column major as internal format, but syntactically row major is
used for easier working with basis vectors.

Uses ; to separate between basis vectors.

Parentheses around vectors can be omitted inside the mat4 brackets.

  • Added mat4 type syntax
  • Added mat4 block
  • Added Mat4 to AST
  • Added rx intrinsic
  • Added ry intrinsic
  • Added rz intrinsic
  • Added rw intrinsic
  • Added rv intrinsic
  • Added cx intrinsic
  • Added cy intrinsic
  • Added cz intrinsic
  • Added cw intrinsic
  • Added cv intrinsic
  • Added Runtime::mat4
  • Added writing mat4 variable
  • Added writing write_mat4 for writing out closure code
  • Added Type::Mat4
  • Added mat4 and mat4 multiplication
  • Added mat4 and mat4 addition
  • Added mat4 and vec4 transformation
  • Added det intrinsic
  • Added inv intrinsic
  • Added Mat4 for easier embedding
  • Added mov intrinsic
  • Added *= assignment
  • Added += assignment
  • Added rot__axis_angle intrinsic
  • Added tau intrinsic
  • Added ortho__pos_right_up_forward intrinsic
  • Added proj__fov_near_far_ar intrinsic
  • Added mvp__model_view_projection intrinsic
  • Added scale intrinsic

Adds 4D matrix to Dyon.

Uses column major as internal format, but syntactically row major is
used for easier working with basis vectors.

Uses `;` to separate between basis vectors.

Parentheses around vectors  can be omitted inside the `mat4` brackets.

Supports vector swizzling with matrices. To distinguish between vector
and scalar swizzling when omitting parentheses, one must add a trailing
`,`, e.g. `mat4 {xy (1, 2),;}`.

- Added `mat4` type syntax
- Added `mat4` block
- Added `Mat4` to AST
- Added swizzling vectors for matrices
- Added `rx` intrinsic
- Added `ry` intrinsic
- Added `rz` intrinsic
- Added `rw` intrinsic
- Added `rv` intrinsic
- Added `cx` intrinsic
- Added `cy` intrinsic
- Added `cz` intrinsic
- Added `cw` intrinsic
- Added `cv` intrinsic
- Added `Runtime::mat4`
- Added writing `mat4` variable
- Added writing `write_mat4` for writing out closure code
- Added `Type::Mat4`
@bvssvni bvssvni merged commit c8f9df1 into PistonDevelopers:master Dec 11, 2018
@bvssvni bvssvni deleted the mat4 branch December 11, 2018 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant