public Material(FBX.Scene.Materials.MaterialParameters _SourceMaterial, MaterialMapperDelegate _Mapper) { float3 Temp = new float3(); FBX.Scene.Materials.MaterialParameters.Parameter P = null; m_ID = (ushort)_SourceMaterial.ID; // Get diffuse color + texture ID P = _SourceMaterial.Find("DiffuseColor"); if (P != null) { Temp.FromVector3(P.AsFloat3.Value); m_DiffuseColor = Temp; } P = _SourceMaterial.Find("DiffuseTexture"); m_DiffuseTextureID = _Mapper(P != null ? P.AsTexture2D : null); // Get specular color + texture ID + exponent P = _SourceMaterial.Find("SpecularColor"); if (P != null) { Temp.FromVector3(P.AsFloat3.Value); m_SpecularColor = Temp; } P = _SourceMaterial.Find("SpecularTexture"); m_SpecularTextureID = _Mapper(P != null ? P.AsTexture2D : null); P = _SourceMaterial.Find("SpecularExponent"); if (P != null) { Temp.FromVector3(P.AsFloat3.Value); m_SpecularExponent = Temp; } // Get noral map ID P = _SourceMaterial.Find("NormalTexture"); m_NormalTextureID = _Mapper(P != null ? P.AsTexture2D : null); // Get emissive P = _SourceMaterial.Find("EmissiveColor"); if (P != null) { Temp.FromVector3(P.AsFloat3.Value); m_EmissiveColor = Temp; } }
public Material( FBX.Scene.Materials.MaterialParameters _SourceMaterial, MaterialMapperDelegate _Mapper ) { float3 Temp = new float3(); FBX.Scene.Materials.MaterialParameters.Parameter P = null; m_ID = (ushort) _SourceMaterial.ID; // Get diffuse color + texture ID P = _SourceMaterial.Find( "DiffuseColor" ); if ( P != null ) { Temp.FromVector3( P.AsFloat3.Value ); m_DiffuseColor = Temp; } P = _SourceMaterial.Find( "DiffuseTexture" ); m_DiffuseTextureID = _Mapper( P != null ? P.AsTexture2D : null ); // Get specular color + texture ID + exponent P = _SourceMaterial.Find( "SpecularColor" ); if ( P != null ) { Temp.FromVector3( P.AsFloat3.Value ); m_SpecularColor = Temp; } P = _SourceMaterial.Find( "SpecularTexture" ); m_SpecularTextureID = _Mapper( P != null ? P.AsTexture2D : null ); P = _SourceMaterial.Find( "SpecularExponent" ); if ( P != null ) { Temp.FromVector3( P.AsFloat3.Value ); m_SpecularExponent = Temp; } // Get noral map ID P = _SourceMaterial.Find( "NormalTexture" ); m_NormalTextureID = _Mapper( P != null ? P.AsTexture2D : null ); // Get emissive P = _SourceMaterial.Find( "EmissiveColor" ); if ( P != null ) { Temp.FromVector3( P.AsFloat3.Value ); m_EmissiveColor = Temp; } }