예제 #1
0
        public static uint PackSNorm(uint bitmask, float value)
        {
            float num = bitmask >> 1;

            value *= num;
            return((uint)((int)PackUtils.ClampAndRound(value, -num, num) & (int)bitmask));
        }
예제 #2
0
        public static uint PackSigned(uint bitmask, float value)
        {
            float num = bitmask >> 1;
            float min = -num - 1f;

            return((uint)((int)PackUtils.ClampAndRound(value, min, num) & (int)bitmask));
        }
예제 #3
0
 public static uint PackUnsigned(float bitmask, float value)
 {
     return((uint)PackUtils.ClampAndRound(value, 0f, bitmask));
 }
예제 #4
0
 public static uint PackUNorm(float bitmask, float value)
 {
     value *= bitmask;
     return((uint)PackUtils.ClampAndRound(value, 0f, bitmask));
 }