Lighted shader class. More...
#include <fbshader.h>
Public Member Functions | |
FBShaderLighted (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
![]() | |
FBShader (const char *pName, HIObject pObject=NULL) | |
Protected constructor. More... | |
IObject_Declare (override) | |
virtual FBShaderModelInfo * | NewShaderModelInfo (HKModelRenderInfo pModelRenderInfo, int pSubRegionIndex) |
Create a new shader-model information object. More... | |
virtual void | UpdateModelShaderInfo (FBRenderOptions *pOptions, FBShaderModelInfo *pInfo) |
Update shader-model information when model, material & texture mapping or shader setting change. More... | |
virtual void | DestroyShaderModelInfo (FBRenderOptions *pOptions, FBShaderModelInfo *pInfo) |
Destroy shader-model information object callback. More... | |
virtual bool | ReplaceAll (FBModel *pModel) |
Replace all shader in pModel. More... | |
virtual bool | Append (FBModel *pModel) |
Append shader to pModel. More... | |
virtual bool | ShaderNeedBeginRender () |
Does the shader need a begin render call. More... | |
virtual void | ShaderBeginRender (FBRenderOptions *pOptions, FBShaderModelInfo *pInfo) |
Pre-rendering of shaders that is called only one time for a shader instance. More... | |
virtual void | ShadeModel (FBRenderOptions *pOptions, FBShaderModelInfo *pInfo, FBRenderingPass pPass) |
Real-time shading callback for shader without kFBShaderCapacityMaterialEffect. More... | |
virtual void | ShadeModelShadow (FBRenderOptions *pRenderOptions, FBShaderModelInfo *pInfo) |
Draw custom shadow shape callback for shader with kFBShaderCapacityDrawShadow but without kFBShaderCapacityMaterialEffect. More... | |
virtual void | ShaderPassTypeBegin (FBRenderOptions *pRenderOptions, FBRenderingPass pPass) |
For all the shader instances of the same type, to setup the common state for all this type of shaders. More... | |
virtual void | ShaderPassTypeEnd (FBRenderOptions *pRenderOptions, FBRenderingPass pPass) |
For all the shader instances of the same type, to clean the common state for all this type of shaders. More... | |
virtual void | ShaderPassInstanceBegin (FBRenderOptions *pRenderOptions, FBRenderingPass pPass) |
For all the models associated with this shader instance, to setup the common state for this shader instance. More... | |
virtual void | ShaderPassInstanceEnd (FBRenderOptions *pRenderOptions, FBRenderingPass pPass) |
For all the models associated with this shader instance, to clean the common state for this shader instance. More... | |
virtual void | ShaderPassMaterialBegin (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, FBShaderModelInfo *pInfo) |
For all the models mapped with this material and associated with this shader instance, to setup the common material state for this shader instance. More... | |
virtual void | ShaderPassMaterialEnd (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, FBShaderModelInfo *pInfo) |
For all the models mapped with this material and associated with this shader instance, to clean the common material state for this shader instance. More... | |
virtual void | ShaderPassGeometryBegin (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, FBShaderModelInfo *pInfo) |
For all the models instanced from the same geometry, to setup the common VBO state for this shader instance. More... | |
virtual void | ShaderPassGeometryEnd (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, FBShaderModelInfo *pInfo) |
For all the models instanced from the same geometry, to clean the common VBO state for this shader instance. More... | |
virtual void | ShaderPassModelsDraw (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, const FBArrayTemplate< FBShaderModelInfo * > &pInfoArray) |
For all the models with the same material/geometry mappings, inside this functions, we only need to setup modelview matrix, and draw the meshes. More... | |
virtual void | ShaderPassModelDraw (FBRenderOptions *pRenderOptions, FBRenderingPass pPass, FBShaderModelInfo *pInfo) |
Callback for Cg/CgFx shader to setup WorldMaitrx/WorldMatrixIT parameters. More... | |
virtual void | ShaderPassDrawShadowBegin (FBRenderOptions *pRenderOptions) |
Shadow draw pass begin notify for shader with kFBShaderCapacityMaterialEffect and kFBShaderCapacityDrawShow. More... | |
virtual void | ShaderPassDrawShadowEnd (FBRenderOptions *pRenderOptions) |
Shadow draw pass end notify for shader with kFBShaderCapacityMaterialEffect and kFBShaderCapacityDrawShow. More... | |
FBShaderPassActionCallback | GetShaderPassActionCallback () const |
Get Shader Pass Action Callback registration;. More... | |
void | SetShaderPassActionCallback (FBShaderPassActionCallback pCallback) |
Set Shader Pass Action Callback registration;. More... | |
virtual void | CloneShaderParameter (FBShader *pNewShader) |
Clone shader. More... | |
virtual void | DetachDisplayContext (FBRenderOptions *pOptions, FBShaderModelInfo *pInfo) |
Detach the display context from the shader. More... | |
virtual bool | FbxStore (FBFbxObject *pFbxObject) |
Storage of information into the FBX file format. More... | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, FBRenderer *pRenderer) |
Retrieval of information into the FBX file format. More... | |
void | InvalidateShaderVersion () |
Invalidate Shader version to trigger model-shader informaton to be updated. More... | |
int | GetShaderVersion () const |
Return Shader Version. More... | |
FBShaderCapacity | GetShaderCapacity () const |
Return Shader Capacity (bitwise value) More... | |
bool | HasShaderCapacity (FBShaderCapacity pCapacity) |
Return true if shader has certain capacity. More... | |
void | SetShaderCapacity (FBShaderCapacity pCapacity, bool pOn) |
Set Shader Capacity (bitwise value). More... | |
int | GetDrawInstancedMaximumSize () const |
Get shader maximum size for draw instanced. More... | |
void | SetDrawInstancedMaximumSize (int pMaxSize) |
Set shader maximum size for draw instanced. More... | |
virtual void | UploadModelViewMatrixArrayForDrawInstanced (const double *pModelViewMatrixArray, int pCount) |
Callback for uploading the modelview array when draw instanced. More... | |
![]() | |
FBBox (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual FBAnimationNode * | AnimationNodeInCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) |
Creation of IN/OUT Animation Nodes. More... | |
virtual FBAnimationNode * | AnimationNodeOutCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) |
virtual bool | EvaluateAnimationNodes (FBEvaluateInfo *pEvaluateInfo) |
Evaluation of non TRS nodes that needs to be evaluated. More... | |
virtual bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Notification function for animation thread. More... | |
virtual bool | ResolveCandidate (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Function is call when candidate needs to be resolved (like global to local). More... | |
virtual ECandidateAction | SetGlobalCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a global candidate is set on an animation node. More... | |
virtual ECandidateAction | SetStdCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a non-global candidate is set on an animation node. More... | |
virtual bool | FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) |
Storage/Retrieval of information into the FBX file format. More... | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) |
virtual bool | AnimationNodeDestroy (FBAnimationNode *pAnimationNode) |
Destroy an animation node. More... | |
virtual bool | AnimationNodeIsUserData (FBAnimationNode *pAnimationNode) |
Is the animation node user data? More... | |
virtual void | AnimationNodesOutDisableIfNotWritten (FBEvaluateInfo *pEvaluateInfo) |
This call will disable all out animation nodes from being pull by system (animation thread) for given pEvaluateInfo. More... | |
virtual FBAnimationNode * | AnimationNodeInGet () |
Get the (IN/OUT) animation node for this box. More... | |
virtual FBAnimationNode * | AnimationNodeOutGet () |
virtual const char * | FbxGetObjectType () |
Returns the class type inherited by the class of an object, for example: 'Box', 'Constraint', 'TimelineXTrack'. More... | |
virtual const char * | FbxGetObjectSubType () |
Returns the class sub type inherited by the class of an object, for example: 'Relations', 'Parent-Child', 'Number to Vector', 'Shot'. More... | |
IObject_Declare (override) | |
virtual int | GetOutConnectorCount () const |
Get the number of animation node outputs for this box. More... | |
virtual int | GetInConnectorCount () const |
Get the number of animation node inputs for this box. More... | |
virtual FBAnimationNode * | GetOutConnector (int pIndex) const |
Get the animation node output associated with the given index. More... | |
virtual FBAnimationNode * | GetInConnector (int pIndex) const |
Get the animation node input associated with the given index. More... | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. More... | |
virtual | ~FBComponent () |
Destructor. More... | |
virtual bool | FBCreate () |
Open Reality Creation function. More... | |
virtual void | FBDestroy () |
Open Reality destruction function. More... | |
virtual void | FBDelete () override |
Open Reality deletion function. More... | |
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
Assign component to an internal pointer. More... | |
virtual int | PropertyAdd (FBProperty *pProperty) |
Add a property to the component's property manager. More... | |
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
Add a reference property to the component's property manager. More... | |
void | PropertyRemove (FBProperty *pProperty) |
Remove a Property from the component's Property manager. More... | |
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
Get list of properties which have been modified since last loading. More... | |
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL) |
Create user or dynamic property. More... | |
FBObjectFlag | GetObjectFlags () |
Get all Object Flags (concatenated). More... | |
void | SetObjectFlags (FBObjectFlag pFlags) |
SetObjectFlags. More... | |
bool | HasObjectFlags (FBObjectFlag pFlags) |
Check whether a specific object flag is enabled. More... | |
void | EnableObjectFlags (FBObjectFlag pFlags) |
Enable a specific Object Flags. More... | |
void | DisableObjectFlags (FBObjectFlag pFlags) |
Disable a specific Object Flags. More... | |
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
Enable/Disable a specific Object Status. More... | |
bool | GetObjectStatus (FBObjectStatus pStatus) |
Check to see if an object status is enabled. More... | |
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessNamespaceHierarchy. More... | |
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessObjectNamespace. More... | |
virtual const char * | ClassName () override |
Get the class name. More... | |
virtual bool | UseCustomPropertyViewSet () const |
Use the custom property viewSet or not. More... | |
const char * | GetFullName (void) |
Get the full name. More... | |
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
Set the owner Namespace object. More... | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. More... | |
FBFileReference * | GetOwnerFileReference (void) |
Get the owner FileReference object. More... | |
void | HardSelect () |
HardSelect. More... | |
virtual bool | Is (int pTypeId) override |
Returns true if object is of type TypeId. More... | |
virtual int | GetTypeId () override |
GetTypeId( int pTypeId ) More... | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. More... | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Public Attributes | |
FBPropertyBool | UseContrast |
Read Write Property: Activate the Contrast option. More... | |
FBPropertyDouble | Contrast |
Read Write Property: Changes the contrast of the object when it reflects light. More... | |
FBPropertyBool | UseLuminosity |
Read Write Property: Activate the Luminosity option. More... | |
FBPropertyDouble | Luminosity |
Read Write Property: Changes the brightness of the object when reflecting light. More... | |
FBPropertyBool | UseSpecular |
Read Write Property: Activate the Specularity option. More... | |
FBPropertyDouble | Specular |
Read Write Property: Changes an object's level of shininess when it reflects light by affecting the specular highlight. More... | |
FBPropertyAlphaSource | Transparency |
Read Write Property: Indicates the computation method of the transparency. More... | |
FBPropertyAnimatableDouble | Alpha |
Read Write Property: Controls the actual effect of the shader on the object. At 0.0 it does nothing, and at 1.0 it fully affects the object. More... | |
![]() | |
const char * | ShaderDescription |
Description. More... | |
FBPropertyBool | Enable |
Read Write Property: Is the shader Enabled More... | |
FBPropertyRenderingPass | RenderingPass |
Read Write Property: Rendering pass object are shaded in. More... | |
![]() | |
const char * | UniqueName |
internal Unique name. More... | |
FBPropertyBool | Animatable |
Read Write Property: Is the box animatable. More... | |
FBPropertyBool | Live |
Read Write Property: Is live? More... | |
FBPropertyBool | RecordMode |
Read Write Property: Is recording? More... | |
![]() | |
FBPropertyManager | PropertyList |
Read Only Property: Manages all of the properties for the component. More... | |
FBPropertyListComponent | Components |
List: List of components. More... | |
FBPropertyListComponent | Parents |
List: Parents. More... | |
FBPropertyBool | Selected |
Read Write Property: Selected property. More... | |
FBPropertyString | Name |
Read Write Property: Unique name of object. More... | |
FBPropertyString | LongName |
Read Write Property: Name and namespace for object. More... | |
FBPropertyFolder | Folder |
Read Write Property: The folder that contain this component. More... | |
Additional Inherited Members | |
![]() | |
enum | ECandidateAction { eCandidateAccept , eCandidateIntercept , eCandidateInterceptAfterEvaluation } |
Resolving action for candidates. More... | |
![]() | |
static int | GetInternalClassId () |
static void | FBComponentSetName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetName (FBComponent *pObject) |
static void | FBComponentSetLongName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetLongName (FBComponent *pObject) |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. More... | |
![]() | |
bool | IsSDKComponent () |
Return whether or not item is an SDK component. More... | |
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | DisconnectDst (FBPlug *pDst) |
Remove a destination connection. More... | |
bool | DisconnectSrc (FBPlug *pSrc) |
Remove a source connection. More... | |
void | DisconnectAllSrc () |
Remove all source connections. More... | |
void | DisconnectAllDst () |
Remove all destination connections. More... | |
bool | DisconnectDstAt (int pIndex) |
Remove a destination connection at a specified index. More... | |
bool | DisconnectSrcAt (int pIndex) |
Remove a source connection at a specified index. More... | |
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
Replace a destination connection at a specified index. More... | |
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
Replace a source connection at a specified index. More... | |
bool | SwapSrc (int pIndexA, int pIndexB) |
Swap source connection at index A with source connection at index B. More... | |
bool | MoveSrcAt (int pIndex, int pAtIndex) |
Move source connection at pIndex to pAtIndex. More... | |
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
Move source connection pSrc to the position of pAtSrc. More... | |
int | GetSrcCount () |
Get source connection count. More... | |
FBPlug * | GetSrc (int pIndex) |
Get a source connection's plug at specified index. More... | |
FBConnectionType | GetSrcType (int pIndex) |
Get a source connection's type at specified index. More... | |
int | GetDstCount () |
Get destination connection count. More... | |
FBPlug * | GetDst (int pIndex) |
Get a destination connection's plug at specified index. More... | |
FBConnectionType | GetDstType (int pIndex) |
Get a destination connection's type at specified index. More... | |
bool | BeginChange () |
Begins a change on multiple plugs. More... | |
void | EndChange () |
Ends a change on multiple plugs. More... | |
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's self modification flag. More... | |
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
Tell if the plug's self has changed. More... | |
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's owned property/object's modification flag. More... | |
bool | GetContentModified (FBPlugModificationFlag pFlag) |
Tell if the plug's content has changed. More... | |
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
Get plug's modified src/dst property/object connection added/removed List. More... | |
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
Revert the plug's modification to original status. More... | |
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
Set the plug's status flag. More... | |
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
Tell if the plug's status has changed. More... | |
FBPlug * | GetOwner () |
Get the owner of this plug. More... | |
FBPlug * | GetOwned (int pIndex) |
Get the owned plug at specified index. More... | |
int | GetOwnedCount () |
Get the owned plug count. More... | |
virtual bool | PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More... | |
virtual bool | PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More... | |
virtual bool | PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL) |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More... | |
![]() | |
static FBRenderingPass | GetRenderingPassNeededForAlpha (FBAlphaSource pTransparency) |
In order to be called at the right passes, a shader must set the result of GetRenderingPassNeededForAlpha() to RenderingPass for a given transparency type. More... | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. More... | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. More... | |
HIObject | mObject |
Handle on the Plug. More... | |
bool | mSDKComponent |
bool Plug is an SDK component. More... | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. More... | |
static int | TypeInfo |
TypeInfo. More... | |
static int | mGlobalTypeInfo |
Represente the Type Index. More... | |
Lighted shader class.
This type of shader is the default type used by the application. It allows users to control luminosity, contrast and specularity as well as how the transparency is computed, should it be used.
There are two methods to create a FBShaderLighted object: using the FBShaderManager, or simply by instantiating a class object explicitely.
Sample C++ code:
The following sample code does the same task, but in Python.
Sample Python code:
Definition at line 775 of file fbshader.h.
FBShaderLighted | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of shader. |
pObject | Internal parent object to own shader(default=NULL). |
Read Write Property: Controls the actual effect of the shader on the object. At 0.0 it does nothing, and at 1.0 it fully affects the object.
Definition at line 797 of file fbshader.h.
FBPropertyDouble Contrast |
Read Write Property: Changes the contrast of the object when it reflects light.
Definition at line 788 of file fbshader.h.
FBPropertyDouble Luminosity |
Read Write Property: Changes the brightness of the object when reflecting light.
Definition at line 791 of file fbshader.h.
FBPropertyDouble Specular |
Read Write Property: Changes an object's level of shininess when it reflects light by affecting the specular highlight.
Definition at line 794 of file fbshader.h.
FBPropertyAlphaSource Transparency |
Read Write Property: Indicates the computation method of the transparency.
Definition at line 796 of file fbshader.h.
FBPropertyBool UseContrast |
Read Write Property: Activate the Contrast option.
Definition at line 787 of file fbshader.h.
FBPropertyBool UseLuminosity |
Read Write Property: Activate the Luminosity option.
Definition at line 790 of file fbshader.h.
FBPropertyBool UseSpecular |
Read Write Property: Activate the Specularity option.
Definition at line 793 of file fbshader.h.