UnityObjectToViewPos
inline float3 UnityObjectToViewPos(in float3 pos)
{
return mul(UNITY_MATRIX_V, mul(unity_ObjectToWorld, float4(pos, 1.0))).xyz;
}
inline float3 UnityObjectToViewPos(in float4 pos)
{
return UnityObjectToViewPos(pos.xyz);
}
定义这个重载版本是为了当传递float4类型参数到UnityObjectToViewPos函数时,避免出现隐式截断(implicit truncation)的问题。
UnityWorldToViewPos
inline float3 UnityWorldToViewPos(in float3 pos)
{
return mul(UNITY_MATRIX_V, float4(pos, 1.0)).xyz;
}
UnityWorldToClipPos
将世界坐标空间中的某一点变换到齐次裁剪空间中。
inline float4 UnityWorldToClipPos(in float3 pos)
{
return mul(UNITY_MATRIX_VP, float4(pos, 1.0));
}
UnityViewToClipPos
将观察坐标空间中的某一点变换到齐次裁剪空间中。
inline float4 UnityViewToClipPos(in float3 pos)
{
return mul(UNITY_MATRIX_P, float4(pos, 1.0));
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。