Advertisement
Guest User

Untitled

a guest
Apr 9th, 2010
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.59 KB | None | 0 0
  1. Vector3 ToN3(uint u)
  2.         {
  3.             Vector3 v = Vector3.Zero;
  4.             uint[] SignExtendXY = new uint[]{ 0, 0xFFFFF800 };
  5.             uint[] SignExtendZ = new uint[] { 0, 0xFFFFFC00 };
  6.  
  7.             uint element = u & 0x7FF;
  8.             v.X = (float)(short)(element | SignExtendXY[element >> 10]) / 1023.0f;
  9.             element = (u >> 11) & 0x7FF;
  10.             v.Y = (float)(short)(element | SignExtendXY[element >> 10]) / 1023.0f;
  11.             element = (u >> 22) & 0x3FF;
  12.             v.Z = (float)(short)(element | SignExtendZ[element >> 9]) / 511.0f;
  13.  
  14.             return v;
  15.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement