public override LoadedInfo Parse(Renderer renderer, JObject json, String texturePath) { var geometry = new Geometry(); var scaleData = json["scale"]; var scale = scaleData != null ? 1 / scaleData.Value <float>() : 1; ParseModel(json, geometry, scale); ParseSkin(json, geometry); ParseMorphing(json, geometry, scale); geometry.ComputeNormals(); geometry.ComputeBoundingSphere(); var info = new LoadedInfo() { Geometry = geometry }; var materialsJson = json["materials"]; if (materialsJson != null) { var materialsData = materialsJson.ToArray(); if (materialsData.Length != 0) { var materials = InitMaterials(renderer, materialsData, texturePath); if (NeedsTangents(materials)) { geometry.ComputeTangents(); } info.Materials.AddRange(materials); } } return(info); }
public override LoadedInfo Parse(Renderer renderer, JObject json, String texturePath) { var geometry = new Geometry(); var scaleData = json["scale"]; var scale = scaleData != null ? 1 / scaleData.Value<float>() : 1; ParseModel(json, geometry, scale); ParseSkin(json, geometry); ParseMorphing(json, geometry, scale); geometry.ComputeNormals(); geometry.ComputeBoundingSphere(); var info = new LoadedInfo() { Geometry = geometry }; var materialsJson = json["materials"]; if (materialsJson != null) { var materialsData = materialsJson.ToArray(); if (materialsData.Length != 0) { var materials = InitMaterials(renderer, materialsData, texturePath); if (NeedsTangents(materials)) geometry.ComputeTangents(); info.Materials.AddRange(materials); } } return info; }