コード例 #1
0
 public void ProjectVector(ref idVec4 src, ref idVec4 dst)
 {
     dst.x = src * mat[0];
     dst.y = src * mat[1];
     dst.z = src * mat[2];
     dst.w = src * mat[3];
 }
コード例 #2
0
 public idMat4(ref idVec4 x, ref idVec4 y, ref idVec4 z, ref idVec4 w)
 {
     mat[0] = x;
     mat[1] = y;
     mat[2] = z;
     mat[3] = w;
 }
コード例 #3
0
 public idMat4(ref idVec4 x, ref idVec4 y, ref idVec4 z, ref idVec4 w)
 {
     mat[0] = x;
     mat[1] = y;
     mat[2] = z;
     mat[3] = w;
 }
コード例 #4
0
 public static void Lerp(out idVec4 t, idVec4 v1, idVec4 v2, float l)
 {
     if (l <= 0.0f)
     {
         t = v1;
     }
     else if (l >= 1.0f)
     {
         t = v2;
     }
     else
     {
         t = v1 + (v2 - v1) * l;
     }
 }
コード例 #5
0
 public bool Compare(ref idVec4 a, float epsilon)
 {
     return(idMath.Fabs(x - a.x) <= epsilon && idMath.Fabs(y - a.y) <= epsilon && idMath.Fabs(z - a.z) <= epsilon && idMath.Fabs(w - a.w) <= epsilon);
 }
コード例 #6
0
 public bool Compare(ref idVec4 a)
 {
     return(x == a.x && y == a.y && z == a.z && w == a.w);
 }
コード例 #7
0
 public idVec4 opDiv(idVec4 a)
 {
     x /= a.x; y /= a.y; z /= a.z; w /= a.w; return(this);
 }
コード例 #8
0
 public idVec4 opSub(idVec4 a)
 {
     x -= a.x; y -= a.y; z -= a.z; w -= a.w; return(this);
 }
コード例 #9
0
 public idVec4 opAdd(idVec4 a)
 {
     x += a.x; y += a.y; z += a.z; w += a.w; return(this);
 }
コード例 #10
0
 public idVec4 opAdd(idVec4 a) { x += a.x; y += a.y; z += a.z; w += a.w; return this; }
コード例 #11
0
 static uint PackColor(ref idVec4 color)
 {
     uint dx = ColorFloatToByte(color.x);
     uint dy = ColorFloatToByte(color.y);
     uint dz = ColorFloatToByte(color.z);
     return (dx << 0) | (dy << 8) | (dz << 16);
 }
コード例 #12
0
        static void UnpackColor(uint color, ref idVec4 unpackedColor)
        {
            unpackedColor.Set(((color >> 0) & 255) * (1.0f / 255.0f),
                ((color >> 8) & 255) * (1.0f / 255.0f),
                ((color >> 16) & 255) * (1.0f / 255.0f),
                ((color >> 24) & 255) * (1.0f / 255.0f));

        }
コード例 #13
0
 public bool Compare(ref idVec4 a, float epsilon) { return (idMath.Fabs(x - a.x) <= epsilon && idMath.Fabs(y - a.y) <= epsilon && idMath.Fabs(z - a.z) <= epsilon && idMath.Fabs(w - a.w) <= epsilon); }
コード例 #14
0
 public bool Compare(ref idVec4 a) { return (x == a.x && y == a.y && z == a.z && w == a.w); }
コード例 #15
0
 public idVec4 opDiv(idVec4 a) { x /= a.x; y /= a.y; z /= a.z; w /= a.w; return this; }
コード例 #16
0
 public idVec4 opSub(idVec4 a) { x -= a.x; y -= a.y; z -= a.z; w -= a.w; return this; }
コード例 #17
0
 public void ProjectVector(ref idVec4 src, ref idVec4 dst)
 {
     dst.x = src * mat[0];
     dst.y = src * mat[1];
     dst.z = src * mat[2];
     dst.w = src * mat[3];
 }
コード例 #18
0
 public void UnprojectVector(ref idVec4 src, ref idVec4 dst)
 {
     dst = mat[0] * src.x + mat[1] * src.y + mat[2] * src.z + mat[3] * src.w;
 }
コード例 #19
0
 public void UnprojectVector(ref idVec4 src, ref idVec4 dst)
 {
     dst = mat[0] * src.x + mat[1] * src.y + mat[2] * src.z + mat[3] * src.w;
 }
コード例 #20
0
 public static void Lerp(out idVec4 t, idVec4 v1, idVec4 v2, float l)
 {
     if (l <= 0.0f) t = v1;
     else if (l >= 1.0f) t = v2;
     else t = v1 + (v2 - v1) * l;
 }