示例#1
0
        public void SetPixel()
        {
            Texture1D tex = new Texture1D(2, 4, 32);

            tex.SetPixel(0, new ColorRGBA(1, 2, 3, 4));

            Assert.AreEqual(1, tex.GetChannel(0, 0));
            Assert.AreEqual(2, tex.GetChannel(0, 1));
            Assert.AreEqual(3, tex.GetChannel(0, 2));
            Assert.AreEqual(4, tex.GetChannel(0, 3));
        }
示例#2
0
        public void BilinearFilter_DoesMirror()
        {
            int width    = 2;
            int bitDepth = 32;

            Texture1D tex = CreateXFilledTexture(width, bitDepth, TEXTURE_WRAP.MIRROR);

            Assert.AreEqual(0.5f, tex.GetChannel(-0.5f, 0));
            Assert.AreEqual(0.25f, tex.GetChannel(-0.25f, 0));
            Assert.AreEqual(0.0f, tex.GetChannel(0.0f, 0));
            Assert.AreEqual(0.25f, tex.GetChannel(0.25f, 0));
            Assert.AreEqual(0.5f, tex.GetChannel(0.5f, 0));
            Assert.AreEqual(0.75f, tex.GetChannel(0.75f, 0));
            Assert.AreEqual(1.0f, tex.GetChannel(1.0f, 0));
            Assert.AreEqual(0.75f, tex.GetChannel(1.25f, 0));
            Assert.AreEqual(0.5f, tex.GetChannel(1.5f, 0));
        }
示例#3
0
        public void GetChannel_DoesClamp()
        {
            int width    = 4;
            int bitDepth = 32;

            Texture1D tex = CreateXFilledTexture(width, bitDepth, TEXTURE_WRAP.CLAMP);

            Assert.AreEqual(0, tex.GetChannel(-2, 0));
            Assert.AreEqual(0, tex.GetChannel(-1, 0));
            Assert.AreEqual(0, tex.GetChannel(0, 0));
            Assert.AreEqual(1, tex.GetChannel(1, 0));
            Assert.AreEqual(2, tex.GetChannel(2, 0));
            Assert.AreEqual(3, tex.GetChannel(3, 0));
            Assert.AreEqual(3, tex.GetChannel(4, 0));
            Assert.AreEqual(3, tex.GetChannel(5, 0));
        }
示例#4
0
        public void GetChannel_DoesMirror()
        {
            int width    = 4;
            int bitDepth = 32;

            Texture1D tex = CreateXFilledTexture(width, bitDepth, TEXTURE_WRAP.MIRROR);

            tex.Wrap = TEXTURE_WRAP.MIRROR;

            Assert.AreEqual(2, tex.GetChannel(-2, 0));
            Assert.AreEqual(1, tex.GetChannel(-1, 0));
            Assert.AreEqual(0, tex.GetChannel(0, 0));
            Assert.AreEqual(1, tex.GetChannel(1, 0));
            Assert.AreEqual(2, tex.GetChannel(2, 0));
            Assert.AreEqual(3, tex.GetChannel(3, 0));
            Assert.AreEqual(2, tex.GetChannel(4, 0));
            Assert.AreEqual(1, tex.GetChannel(5, 0));
        }
示例#5
0
        public void GetChannel()
        {
            int width    = 65;
            int channels = 3;
            int bitDepth = 32;

            Texture1D tex = CreateIndexFilledTexture(width, channels, bitDepth);

            for (int x = 0; x < width; x++)
            {
                for (int c = 0; c < channels; c++)
                {
                    int idx = (x * channels) + c;
                    Assert.AreEqual(idx, tex.GetChannel(x, c));
                }
            }
        }