예제 #1
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position);

            return(matrix);
        }
예제 #2
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position.X, item.Position.Y + 0.5f, item.Position.Z);
            MatrixFunctions.RotateY(ref matrix, item.Rotation.Y);

            return(matrix);
        }
예제 #3
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position);
            MatrixFunctions.RotateObject(ref matrix, item.Rotation.X & 0xC000, item.Rotation.Y, 0);

            return(matrix);
        }
예제 #4
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;
            float  Scale  = item.Scale.X + 1.0f;

            MatrixFunctions.Translate(ref matrix, item.Position);
            MatrixFunctions.RotateY(ref matrix, item.Rotation.Y);
            MatrixFunctions.Scale(ref matrix, Scale, Scale, Scale);

            return(matrix);
        }
예제 #5
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position);
            MatrixFunctions.RotateObject(ref matrix, item.Rotation);
            float size = item.Scale.X + 1.0f;

            MatrixFunctions.Scale(ref matrix, size, size, size);

            return(matrix);
        }
예제 #6
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position);
            MatrixFunctions.RotateY(ref matrix, (ushort)(item.Rotation.Y + 0x8000));
            MatrixFunctions.RotateZ(ref matrix, item.Rotation.Z);
            MatrixFunctions.RotateX(ref matrix, item.Rotation.X);


            return(matrix);
        }
예제 #7
0
		public override Matrix GetHandleMatrix(SETItem item)
		{
			Matrix matrix = Matrix.Identity;

			MatrixFunctions.Translate(ref matrix, item.Position);

			int RotY = item.Rotation.Y + 34;
			if ((RotY + 24) != 0x4000)
			{
				MatrixFunctions.RotateY(ref matrix, (RotY + 24) - 0x4000);
			}

			return matrix;
		}
예제 #8
0
        public override Matrix GetHandleMatrix(SETItem item)
        {
            Matrix matrix = Matrix.Identity;

            MatrixFunctions.Translate(ref matrix, item.Position);

            int x = item.Rotation.X;
            int y = item.Rotation.Y;

            if (!item.Scale.IsEmpty)
            {
                (item.Position - item.Scale).GetRotation(out x, out y);
            }

            MatrixFunctions.RotateY(ref matrix, x);
            MatrixFunctions.RotateY(ref matrix, y);
            MatrixFunctions.RotateY(ref matrix, item.Rotation.Z);

            return(matrix);
        }