Creating a material
 
 
 

CubeCreator creates one material that will be applied to each face of the cube. This material is shared by all the cubes in the scene.

We’ll use a Phong shader for the material.

KFbxSurfacePhong* gMaterial = NULL;
...
// Create global material for cube.
void CreateMaterial(KFbxSdkManager* pSdkManager)
{
   KString lMaterialName = "material";
   KString lShadingName = "Phong";
   fbxDouble3 lBlack(0.0, 0.0, 0.0);
   fbxDouble3 lRed(1.0, 0.0, 0.0);
   fbxDouble3 lDiffuseColor(0.75, 0.75, 0.0);
   gMaterial = KFbxSurfacePhong::Create(pSdkManager, lMaterialName.Buffer());

The following properties are used by the Phong shader to calculate the color for each pixel in the material:

   // Generate primary and secondary colors.
   gMaterial->GetEmissiveColor()      .Set(lBlack);
   gMaterial->GetAmbientColor()       .Set(lRed);
   gMaterial->GetDiffuseColor()       .Set(lDiffuseColor);
   gMaterial->GetTransparencyFactor() .Set(40.5);
   gMaterial->GetShadingModel()       .Set(lShadingName);
   gMaterial->GetShininess()          .Set(0.5);
}