This section presents meshes, textures, and materials in the FBX SDK.
Meshes are abstracted by the FbxMesh
class. A FbxMesh
defines a list of control points, also known in common literature as vertices. A single instance of FbxMesh
can be bound to multiple instances of FbxNode
to reduce memory consumption. This is known as instancing. Scene geometry uses the concept of layers and layer elements (FbxLayerElement
) to define normal maps, material maps, texture maps, etc.
Materials (FbxSurfaceLambert
, FbxSurfacePhong
) are bound to instances of FbxNode
via FbxNode::AddMaterial()
. Materials define the basic rendering characteristics of geometry in the scene, such as its diffuse, ambient, and emissive color properties. Each material occupies a specific index in a FbxNode
, which can be referenced by FbxMesh::BeginPolygon()
to define the material of a newly created polygon.
Textures (FbxFileTexture
, FbxLayeredTexture
, FbxProceduralTexture
) are connected to material channels to define how geometry is rendered. The FbxFileTexture
class uses data contained in a file, for example a .jpg
, to define a texture's values.