1 #ifndef __FBMATERIAL_H__
2 #define __FBMATERIAL_H__
43 #include <kaydaradef.h>
48 #define FBSDK_DLL K_DLLIMPORT
53 #include <fbsdk/fbtexture.h>
55 #ifdef FBSDKUseNamespace
56 namespace FBSDKNamespace {
66 kFBMaterialTextureEmissive,
67 kFBMaterialTextureEmissiveFactor,
68 kFBMaterialTextureAmbient,
69 kFBMaterialTextureAmbientFactor,
70 kFBMaterialTextureDiffuse,
71 kFBMaterialTextureDiffuseFactor,
72 kFBMaterialTextureSpecular,
73 kFBMaterialTextureSpecularFactor,
74 kFBMaterialTextureShiness,
75 kFBMaterialTextureBump,
76 kFBMaterialTextureNormalMap,
77 kFBMaterialTextureTransparent,
78 kFBMaterialTextureTransparentFactor,
79 kFBMaterialTextureReflection,
80 kFBMaterialTextureReflectionFactor,
81 kFBMaterialTextureDisplacementColor
196 #define FBStorableCustomMaterialImplementation(ClassName, Type)\
197 const char* ClassName::FbxGetObjectSubType(){ return #ClassName; }\
198 HIObject RegisterStorable##ClassName##Create(HIObject , const char* pName, void* ){\
199 ClassName* Class = new ClassName(pName);\
200 Class->mAllocated = true;\
201 if( Class->FBCreate() ){\
202 return Class->GetHIObject();\
206 FBLibraryModule(ClassName##Storable){\
207 FBString lGroup = "FbxStorable/";\
209 FBRegisterObject(ClassName##R2, lGroup, #ClassName, "", RegisterStorable##ClassName##Create, true, NULL);\
210 FBSetStoreableCustomMaterialRegistered();}\
213 #ifdef FBSDKUseNamespace
A box is a fundamental building block in the application architecture.
FBPropertyAnimatableDouble DisplacementFactor
Read Write Property: Displacement Factor value.
FBPropertyAnimatableDouble AmbientFactor
Read Write Property: Ambient Factor value.
FBPropertyAnimatableColor DisplacementColor
Read Write Property: Displacement color.
void SetTexture(FBTexture *pTexture, FBMaterialTextureType pType=kFBMaterialTextureDiffuse)
Set associated texture.
FBPropertyAnimatableColor Ambient
Read Write Property: Ambient color.
FBPropertyAnimatableDouble EmissiveFactor
Read Write Property: Emissive Factor value.
virtual const char * GetMaterialDesc() const
Return Material Desc Name.
void OGLInit()
Setup OpenGL fixed pipeline material settings.
FBMaterial(const char *pName, HIObject pObject=NULL)
Constructor.
FBMaterial * Clone()
Clone the material.
FBProperty * CreateTextureConnectableUserProperty(const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable)
Create user custom texture connect property for custom material derived from FBMaterial only.
FBPropertyAnimatableColor Bump
Read Write Property: Bump.
virtual const char * FbxGetObjectType() override
Returns the class type inherited by the class of an object, for example: 'Material'.
FBPropertyAnimatableColor NormalMap
Read Write Property: Normal Map.
virtual const char * FbxGetObjectSubType() override
Returns the class sub type inherited by the class of an object, for example: 'Default',...
FBPropertyAnimatableDouble Shininess
Read Write Property: Shininess value.
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Store and Retrieve function that can be overloaded.
FBTexture * GetTexture(FBMaterialTextureType pType=kFBMaterialTextureDiffuse)
Retrieve associated texture.
virtual const char * GetMaterialName() const
Return Material Name.
FBPropertyAnimatableColor Diffuse
Read Write Property: Diffuse color.
FBPropertyAnimatableDouble TransparencyFactor
Read Write Property: Transparency Factor value.
FBPropertyAnimatableDouble BumpFactor
Read Write Property: Bump Factor value.
FBPropertyAnimatableColor Reflection
Read Write Property: Reflection color.
FBPropertyAnimatableDouble SpecularFactor
Read Write Property: Specular Factor value.
FBPropertyAnimatableDouble DiffuseFactor
Read Write Property: Diffuse Factor value.
FBPropertyAnimatableColor Emissive
Read Write Property: Emissive color.
FBPropertyAnimatableColor TransparentColor
Read Write Property: Transparent color.
FBPropertyAnimatableDouble ReflectionFactor
Read Write Property: Reflection Factor value.
FBPropertyAnimatableColor Specular
Read Write Property: Specular color.
Property: Base property class.
PropertyList: Concrete class for PropertyList of component
FBMaterial * operator[](int pIndex)
Get the material at a specific index.
#define __FBClassDeclare(Name, Parent)
For internal use only.
Contains definitions for devices, boxes and models.
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBMaterialTextureType
Various Material texture channels' type.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBColor, kFBPT_ColorRGB > FBPropertyAnimatableColor
FBPropertyAnimatableColor type definition.
FBPropertyType
Property types.
class K_DLLIMPORT FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
kFbxObjectStore
Description of the different store/retrieve passes of the FBX format.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.