private UUID ExtractMaterial(Guid matId, RenderMaterials mats) { byte[] osdBlob = m_assetResolver.ResolveAsset(matId); if (osdBlob != null) { OSD osd = OSDParser.DeserializeLLSDXml(osdBlob); return(mats.AddMaterial(RenderMaterial.FromOSD(osd))); } return(UUID.Zero); }
public void RenderMaterials_CopiedMaterialsGeneratesTheSameMaterialID() { RenderMaterial mat = new RenderMaterial(); RenderMaterials mats = new RenderMaterials(); UUID matID = mats.AddMaterial(mat); RenderMaterials matsCopy = mats.Copy(); Assert.True(mats.ContainsMaterial(matID)); Assert.True(matsCopy.ContainsMaterial(matID)); }
public void RenderMaterial_ToFromBinaryTest() { RenderMaterial mat = new RenderMaterial(); RenderMaterials mats = new RenderMaterials(); UUID key = mats.AddMaterial(mat); byte[] bytes = mats.ToBytes(); RenderMaterials newmats = RenderMaterials.FromBytes(bytes, 0); Assert.DoesNotThrow(() => { RenderMaterial newmat = newmats.GetMaterial(key); Assert.That(mat, Is.EqualTo(newmat)); }); }
public void RenderMaterial_SerializedMaterialsDataGeneratesTheSameMaterialID() { RenderMaterials materials = new RenderMaterials(); RenderMaterial mat = new RenderMaterial(); UUID matID = materials.AddMaterial(mat); byte[] matData = materials.ToBytes(); RenderMaterials newMaterials = RenderMaterials.FromBytes(matData, 0, matData.Length); Assert.That(materials, Is.EqualTo(newMaterials)); Assert.DoesNotThrow(() => { RenderMaterial newmat = newMaterials.GetMaterial(matID); UUID newmatID = RenderMaterial.GenerateMaterialID(newmat); Assert.That(mat, Is.EqualTo(newmat)); Assert.That(matID, Is.EqualTo(newmatID)); }); }