30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
|
# Getting started
|
||
|
|
||
|
To use Unity Mathematics, add `using Unity.Mathematics` to your code:
|
||
|
|
||
|
```C#
|
||
|
using static Unity.Mathematics.math;
|
||
|
namespace MyNamespace
|
||
|
{
|
||
|
using Unity.Mathematics;
|
||
|
|
||
|
...
|
||
|
var v1 = float3(1,2,3);
|
||
|
var v2 = float3(4,5,6);
|
||
|
v1 = normalize(v1);
|
||
|
v2 = normalize(v2);
|
||
|
var v3 = dot(v1, v2);
|
||
|
...
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Naming convention
|
||
|
|
||
|
In C# `int` and `float` are built-in types. The Burst compiler extends this set of built-in types to also include vectors, matrices, and quaternions. These types are built-in because the Burst compiler already has implementations of these types, and so can use them to generate better code than for custom types.
|
||
|
|
||
|
To signify that these types are built-in their type names are in all lower case. The operators on these built-in types in [`Unity.Mathematics.math`](xref:Unity.Mathematics.math) are intrinsics and are always in lower case.
|
||
|
|
||
|
There are no plans to extend the set of intrinsic types beyond the current set of vectors (`typeN`), matrices (`typeNxN`) and quaternions (`quaternion`).
|
||
|
|
||
|
This convention has the added benefit of making the library highly compatible with shader code and makes porting or sharing code between the two almost frictionless.
|