Meshes, Materials and Textures
 
 
 

This section presents meshes, textures, and materials in the FBX SDK.

Meshes

Meshes are abstracted by the KFbxMesh class. A KFbxMesh defines a list of control points, also known in common literature as vertices. A single instance of KFbxMesh can be bound to multiple instances of KFbxNode to reduce memory consumption. This is known as instancing. Scene geometry uses the concept of layers and layer elements (KFbxLayerElement) to define normal maps, material maps, texture maps, etc.

Materials

Materials (KFbxSurfaceLambert, KFbxSurfacePhong) are bound to instances of KFbxNode via KFbxNode::AddMaterial(). Materials define the basic rendering characteristics of geometry in the scene, such its diffuse, ambient, and emissive color properties. Each material occupies a specific index in a KFbxNode, which can be referenced by KFbxMesh::BeginPolygon() to define the material of a newly created polygon.

Textures

Textures (KFbxFileTexture, KFbxLayeredTexture, KFbxProceduralTexture) are connected to material channels to define how geometry is rendered. The KFbxFileTexture class uses data contained in a file, for example a .jpg, to define a texture's values.