Choose your operating system:
Windows
macOS
Linux
Spaces
Space in Unreal |
Other Names |
Description |
||||||
---|---|---|---|---|---|---|---|---|
Tangent |
Orthogonal (can deviate after interpolation), can be left or right handed. The TangentToLocal transform contains rotation only, so it is OrthoNormal (can be inverted by transposing). |
|||||||
Local |
Object Space |
Orthogonal, can be left or right handed (triangle cull order needs adjustment). The LocalToWorld transform contains rotation, non-uniform scaling (including negative non-uniform scaling which can change the winding order), and translation. |
||||||
World |
The WorldToView transform contains only rotation and translation, so distances in View space are the same as in World space. |
|||||||
TranslatedWorld |
Translated matrices are used to remove camera position from the combined transform matrices, which improves precision when transforming vertices. |
|||||||
View |
CameraSpace |
The ViewToClip transform contains scale on x and y, but no translation (which would be an off center projection). It scales and translates z. It also applies a projection to convert into the homogeneous ClipSpace. |
||||||
Clip |
HomogeniousCoordinates, PostProjectionSpace, ProjectionSpace |
After the perspective projection matrix was applied. Note that W in Clip space is the same as View Space Z. |
||||||
Screen |
NormalizedDeviceCoordinates from OpenGL |
After the perspective divide:
|
||||||
Viewport |
ViewportCoordinates, WindowCoordinates |
In pixels :
|
Space Transformations
Transformation between spaces should always be named using the form X To Y.
Examples:
WorldToView
TranslatedWorldToView
TangentToWorld