Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float4x4 GetRotationDir(float3 direction, float3 up = float3(0, 1, 0))
- {
- float4x4 result;
- float3 xaxis = normalize(cross(up, direction));
- float3 yaxis = normalize(cross(direction, xaxis));
- result._11 = xaxis.x;
- result._12 = yaxis.x;
- result._13 = direction.x;
- result._14 = 0;
- result._21 = xaxis.y;
- result._22 = yaxis.y;
- result._23 = direction.y;
- result._24 = 0;
- result._31 = xaxis.z;
- result._32 = yaxis.z;
- result._33 = direction.z;
- result._34 = 0;
- result._41 = 0;
- result._42 = 0;
- result._43 = 0;
- result._44 = 1;
- return result;
- }
- float4x4 GetRotationDir(float3 direction, float3 xaxis, float3 yaxis)
- {
- float4x4 result;
- result._11 = xaxis.x;
- result._12 = yaxis.x;
- result._13 = direction.x;
- result._14 = 0;
- result._21 = xaxis.y;
- result._22 = yaxis.y;
- result._23 = direction.y;
- result._24 = 0;
- result._31 = xaxis.z;
- result._32 = yaxis.z;
- result._33 = direction.z;
- result._34 = 0;
- result._41 = 0;
- result._42 = 0;
- result._43 = 0;
- result._44 = 1;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement