public void Set(Texture texture, Sampler sampler, TextureUnit textureUnit)
        {
            Contract.Requires<ArgumentOutOfRangeException>(textureUnit >= TextureUnit.Zero);

            this.Texture = texture;
            this.TextureUnit = textureUnit;
            this.Sampler = sampler;
        }
        public void Set(Texture texture, TextureUnit textureUnit)
        {
            Contract.Requires<ArgumentOutOfRangeException>(textureUnit >= TextureUnit.Zero);

            this.Set(texture, null, textureUnit);
        }