Open Reality Reference Guide
fbevaluatemanager.h File Reference

This file contains evaluate manager interface. More...

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>

Go to the source code of this file.

Classes

class  FBEventEvalGlobalCallback
 Event: Global Evaluation pipeline critical timing callback event. More...
 
class  FBPropertyEventCallbackEvalPipeline
 PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeDAG, kFBGlobalEvalCallbackAfterDAG, kFBGlobalEvalCallbackAfterDeform, kFBGlobalEvalCallbackBeforePlottingFrame and kFBGlobalEvalCallbackAfterPlottingFrame) More...
 
class  FBPropertyEventCallbackRenderPipeline
 PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeRender, kFBGlobalEvalCallbackAfterRender) More...
 
class  FBPropertyEventCallbackSynPoint
 PropertyEvent: Callback at synchronization point (for kFBGlobalEvalCallbackSyn) More...
 
class  FBEvaluateManager
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 

Typedefs

typedef void(* kFBEvaluationGlobalFunctionCallback) (FBEvaluateInfo *pEvaluteInfo)
 

Enumerations

enum  FBParallelScheduleType {
  kFBParallelScheduleSerial ,
  kFBParallelScheduleSimple ,
  kFBParallelScheduleAdvanced
}
  DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorithm More...
 
enum  FBGlobalEvalCallbackTiming {
  kFBGlobalEvalCallbackBeforeDAG ,
  kFBGlobalEvalCallbackAfterDAG ,
  kFBGlobalEvalCallbackAfterDeform ,
  kFBGlobalEvalCallbackSyn ,
  kFBGlobalEvalCallbackBeforeRender ,
  kFBGlobalEvalCallbackAfterRender ,
  kFBGlobalEvalCallbackBeforePlottingFrame ,
  kFBGlobalEvalCallbackAfterPlottingFrame
}
 Global Evaluation callback timing. More...
 

Functions

 FB_DEFINE_ENUM (K_DLLIMPORT, ParallelScheduleType)
 
 __FB_FORWARD (FBEvaluateManager)
 Evaluate Manager. More...
 
K_DLLIMPORT void FBSchedulingDependencyOutput (bool pEnable)
 Debug function for MT dependency debug. More...
 

Detailed Description

This file contains evaluate manager interface.

Definition in file fbevaluatemanager.h.

Macro Definition Documentation

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbevaluatemanager.h.

Enumeration Type Documentation

◆ FBGlobalEvalCallbackTiming

Global Evaluation callback timing.

Let the user to register callback function at different stage of background evaluation.

Enumerator
kFBGlobalEvalCallbackBeforeDAG 

Invoked before any DAG (Transformation & Deformation) evaluation tasks started in evaluation pipeline / thread.

kFBGlobalEvalCallbackAfterDAG 

Invoked after all DAG (Transformation & Deformation) evaluation tasks finished in evaluation pipeline / thread.

kFBGlobalEvalCallbackAfterDeform 

Invoked after all deformation tasks finished in evaluation pipeline / thread.

kFBGlobalEvalCallbackSyn 

Invoked when both evaluation & rendering pipelines / threads are stopped. Useful for some complicated scene change tasks to avoid race condition.

kFBGlobalEvalCallbackBeforeRender 

Invoked in rendering pipeline, before any rendering tasks start (immediately after clearing GL back buffer).

kFBGlobalEvalCallbackAfterRender 

Invoked in rendering pipeline, after any rendering tasks finish (just before swapping GL back/front buffer).

kFBGlobalEvalCallbackBeforePlottingFrame 

Invoked before plotting a frame.

kFBGlobalEvalCallbackAfterPlottingFrame 

Invoked after plotting a frame.

Definition at line 71 of file fbevaluatemanager.h.

◆ FBParallelScheduleType

DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorithm

Enumerator
kFBParallelScheduleSerial 

No parallel schedule, use sequential evaluation order instead.

kFBParallelScheduleSimple 

Simple parallel schedule, mainly analyze the task dependency based on Motion Hierarchy (scene graph), but don't across active constraint.

kFBParallelScheduleAdvanced 

Advanced parallel schedule, task dependency analyzation will be able to across ative constraint, and plus motion hierarchy.

Definition at line 59 of file fbevaluatemanager.h.

Function Documentation

◆ __FB_FORWARD()

__FB_FORWARD ( FBEvaluateManager  )

Evaluate Manager.

Interface to schedule the DAG (Directed Acyclic Graph) tasks to multi-core/CPU (or GPU) to accelerate evaluate process. Provide callback on some critical paths / times to allow customize the application.

◆ FBSchedulingDependencyOutput()

K_DLLIMPORT void FBSchedulingDependencyOutput ( bool  pEnable)

Debug function for MT dependency debug.

When enabled log file will be created and updated each time MultiThreaded scheduling is happening (scene rebuild)

Parameters
pEnableON/OFF switch. This is not stored in config (should be changed only for debug purpose, because slow down rebuild process )