FBX C++ API Reference
fbxsurfacematerialutils.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2020 Autodesk, Inc.
4  All rights reserved.
5 
6  Use of this software is subject to the terms of the Autodesk license agreement
7  provided at the time of installation or download, or which otherwise accompanies
8  this software in either electronic or hard copy form.
9 
10 ****************************************************************************************/
11 
13 #ifndef _FBXSDK_SURFACE_MATERIAL_UTILS_H_
14 #define _FBXSDK_SURFACE_MATERIAL_UTILS_H_
15 
16 
20 
21 #include <fbxsdk/fbxsdk_nsbegin.h>
22 
23 class FbxScene;
24 class FbxSurfaceMaterial;
25 class FbxImplementation;
27 class FbxBindingTable;
28 class FbxDataType;
29 
161 {
162 public:
180  static bool GetPropertiesNames(FbxArray<FbxString*>& pPropertiesNames, const FbxSurfaceMaterial* pMaterial, int pImplementationId=0, int pBindingTableId=0);
181 
193  static FbxProperty GetProperty(const char* pPropertyName, const FbxSurfaceMaterial* pMaterial, int pImplementationId = 0, int pBindingTableId = 0);
194 
203  static const FbxImplementation* GetImplementation(const FbxSurfaceMaterial* pMaterial, int pImplementationId = 0);
204 
223  static FbxSurfaceMaterial* CreateShaderMaterial(FbxScene* pScene,
224  const char* pName,
225  const char* pShadingLanguage, const char* pShadingLanguageVersion,
226  const char* pShadingRenderAPI, const char* pShadingRenderAPIVersion,
227  const char* pImplementation = nullptr);
228 
241  static FbxProperty AddProperty(FbxSurfaceMaterial* pMaterial, const char* pPropertyName, const char* pShaderParam, const FbxDataType& pDataType);
242 
243 private:
244  static const FbxBindingTable* GetTable(const FbxImplementation* pImpl, int pTableId = 0);
245 };
246 
247 #include <fbxsdk/fbxsdk_nsend.h>
248 
249 #endif /* _FBXSDK_SURFACE_MATERIAL_UTILS_H_ */
This class contains material settings.
FBX SDK data type class.
Definition: fbxdatatypes.h:26
This class defines some utility functions to access FbxSurfaceMaterial properties by name regardless ...
This object represents the shading node implementation.
This object represents a shading node filter criteria based on the shading node implementation.
This class contains the description of a 3D scene.
Definition: fbxscene.h:61
const FbxImplementation * GetImplementation(const FbxObject *pObject, const char *pImplementationTarget)
Get FbxImplementation from FbxObject.
Class to hold user properties.
Definition: fbxproperty.h:39
A binding table represents a collection of bindings from source types such as FbxObject, or FbxLayerElements to corresponding destinations, usually a third party shader parameters.
#define FBXSDK_DLL
Definition: fbxarch.h:176