Open Reality Reference Guide
|
|
Go to the documentation of this file. 1 #ifndef __FBEVALUATEMANAGER_H__
2 #define __FBEVALUATEMANAGER_H__
43 #include <kaydaradef.h>
48 #define FBSDK_DLL K_DLLIMPORT
54 #ifdef FBSDKUseNamespace
55 namespace FBSDKNamespace {;
83 typedef void (*kFBEvaluationGlobalFunctionCallback)(
FBEvaluateInfo* pEvaluteInfo);
107 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
108 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
115 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
116 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
123 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
124 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
209 #ifdef FBSDKUseNamespace
void InvalidateDAG()
Invalidate the DAG and trigger parallel scheduling at the next frame.
bool IsInteractiveMode() const
Check if the application main loop is in interactive or offline render mode.
FBPropertyInt NodeCount
Read only Property: Number of nodes to evaluate.
FBPropertyInt DeviceCount
Read only Property: Number of devices to evaluate.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBPropertyEventCallbackEvalPipeline OnEvaluationPipelineEvent
For callback events at evaluation pipeline.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
FBParallelScheduleType
DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorit...
PropertyEvent: Callback at synchronization point (for kFBGlobalEvalCallbackSyn)
void UnregisterEvaluationGlobalFunction(kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
Register free callback function to critical timings / stages in the pipeline.
FBPropertyEventCallbackRenderPipeline OnRenderingPipelineEvent
For callback events at rendering pipeline.
FBPropertyBool ParallelDeformation
Read/Write Property: true if deformation is evaluated in parallel.
@ kFBGlobalEvalCallbackBeforePlottingFrame
Invoked before plotting a frame.
@ kFBGlobalEvalCallbackAfterDAG
Invoked after all DAG (Transformation & Deformation) evaluation tasks finished in evaluation pipeline...
@ kFBParallelScheduleSerial
No parallel schedule, use sequential evaluation order instead.
@ kFBGlobalEvalCallbackAfterDeform
Invoked after all deformation tasks finished in evaluation pipeline / thread.
FBPropertyBool FrameSkipOptimization
Read/Write Property: if true, apply frame skip optimization during playback. off-line rendering don't...
@ kFBGlobalEvalCallbackBeforeRender
Invoked in rendering pipeline, before any rendering tasks start (immediately after clearing GL back b...
FBPropertyBool ParallelEvaluation
Read/Write Property: true if parallel DAG schedule algorithm is being used. false when serial algorit...
#define __FBClassDeclare(Name, Parent)
For internal use only.
FBGlobalEvalCallbackTiming
Global Evaluation callback timing.
static FBEvaluateManager & TheOne()
Get the global object for this class.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
FBPropertyBool DualQuaternionSkinning
Read/Write Property: Using state of the Dual Quaternion for skinning (CPU Skinning or GPU Skinning).
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
@ kFBGlobalEvalCallbackSyn
Invoked when both evaluation & rendering pipelines / threads are stopped. Useful for some complicated...
FBPropertyBool UseGPUDeformation
Read/Write Property: true if GPU deformation is used.
Event: Global Evaluation pipeline critical timing callback event.
PropertyEvent: Base event class.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
__FB_FORWARD(FBEvaluateManager)
Evaluate Manager.
FBPropertyParallelScheduleType ParallelScheduleType
DEPRICATED Read/Write Property: choose between serial and parallel DAG schedule algorithm....
@ kFBParallelScheduleSimple
Simple parallel schedule, mainly analyze the task dependency based on Motion Hierarchy (scene graph),...
PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeDAG,...
FBEventEvalGlobalCallback(HKEventBase pEvent)
Constructor.
FBEvaluateInfo * GetEvaluateInfo() const
Returns the Evaluation Info object associated with this callback event.
@ kFBGlobalEvalCallbackAfterPlottingFrame
Invoked after plotting a frame.
FBPropertyEventCallbackSynPoint OnSynchronizationEvent
For callback events at synchronization point.
void RegisterEvaluationGlobalFunction(kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
Register free callback function to critical timings / stages in the pipeline.
@ kFBGlobalEvalCallbackBeforeDAG
Invoked before any DAG (Transformation & Deformation) evaluation tasks started in evaluation pipeline...
AnimationNodeNotify evaluation information.
FBPropertyBool ParallelPipeline
Read/Write Property: true if transformation is evaluated in parallel.
@ kFBGlobalEvalCallbackAfterRender
Invoked in rendering pipeline, after any rendering tasks finish (just before swapping GL back/front b...
MotionBuilder SDK base class.
@ kFBParallelScheduleAdvanced
Advanced parallel schedule, task dependency analyzation will be able to across ative constraint,...
K_DLLIMPORT void FBSchedulingDependencyOutput(bool pEnable)
Debug function for MT dependency debug.
PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeRender,...
FBGlobalEvalCallbackTiming GetTiming() const
Get Callback Timing.