private SamplerId ExportSampler(UnityEngine.Texture texture) { var samplerId = _root.GetSamplerId(texture); if (samplerId != null) { return(samplerId); } var sampler = new Sampler(); if (texture.wrapMode == TextureWrapMode.Clamp) { sampler.WrapS = WrapMode.ClampToEdge; sampler.WrapT = WrapMode.ClampToEdge; } else { sampler.WrapS = WrapMode.Repeat; sampler.WrapT = WrapMode.Repeat; } if (texture.filterMode == FilterMode.Point) { sampler.MinFilter = MinFilterMode.NearestMipmapNearest; sampler.MagFilter = MagFilterMode.Nearest; } else if (texture.filterMode == FilterMode.Bilinear) { sampler.MinFilter = MinFilterMode.NearestMipmapLinear; sampler.MagFilter = MagFilterMode.Linear; } else { sampler.MinFilter = MinFilterMode.LinearMipmapLinear; sampler.MagFilter = MagFilterMode.Linear; } samplerId = new SamplerId { Id = _root.Samplers.Count, Root = _root }; _root.Samplers.Add(sampler); return(samplerId); }