예제 #1
0
            public void ToVector4_IsRgba32Compatible(byte luminance)
            {
                var original = new Gray8(luminance);

                Rgba32 rgba = default;

                original.ToRgba32(ref rgba);

                var gray8Vector = original.ToVector4();
                var rgbaVector  = original.ToVector4();

                Assert.Equal(gray8Vector, rgbaVector, new ApproximateFloatComparer(1e-5f));
            }
예제 #2
0
            public void FromVector4_IsRgba32Compatible(byte luminance)
            {
                var original = new Gray8(luminance);

                Rgba32 rgba = default;

                original.ToRgba32(ref rgba);

                Vector4 rgbaVector = original.ToVector4();

                Gray8 mirror = default;

                mirror.FromVector4(rgbaVector);

                Assert.Equal(original, mirror);
            }
예제 #3
0
        public void Gray8_ToVector4(byte input)
        {
            // Arrange
            var gray = new Gray8(input);

            // Act
            var actual = gray.ToVector4();

            // Assert
            float scaledInput = input / 255F;

            Assert.Equal(scaledInput, actual.X);
            Assert.Equal(scaledInput, actual.Y);
            Assert.Equal(scaledInput, actual.Z);
            Assert.Equal(1, actual.W);
        }