private STGenericMaterial CreateMaterial(Material material, int index) { MDL_Material mat = new MDL_Material(); mat.Name = $"Material{index}"; mat.TintColor = material.Color; if (material.TevStages[0].SamplerIndex != ushort.MaxValue) { var texturObj = Header.Samplers[material.TevStages[0].SamplerIndex]; var tex = Textures[texturObj.TextureIndex]; STTextureWrapMode wrapModeU = ConvertWrapMode(texturObj.WrapModeU); STTextureWrapMode wrapModeV = ConvertWrapMode(texturObj.WrapModeV); mat.TextureMaps.Add(new STGenericTextureMap() { Name = tex.Name, WrapU = wrapModeU, WrapV = wrapModeV, Type = STTextureType.Diffuse, }); } return(mat); }
private static Assimp.TextureWrapMode ConvertToAssimpWrapType(STTextureWrapMode type) { switch (type) { case STTextureWrapMode.Repeat: return(TextureWrapMode.Wrap); case STTextureWrapMode.Mirror: return(TextureWrapMode.Mirror); case STTextureWrapMode.Clamp: return(TextureWrapMode.Clamp); default: return(TextureWrapMode.Wrap); } }