Open Reality renderer interface.
Public Member Functions | |
__init__ (object pObject) | |
Constructor. | |
SetViewport (int pX, int pY, int pW, int pH) | |
Must be called before inputing if the same renderer is used on multiple views/cameras in the same application. | |
bool | RenderBegin (int pX, int pY, int pW, int pH) |
RenderBegin. | |
bool | RenderEnd (FBView pView=None) |
RenderEnd. | |
bool | PreRender (int pLayer=-1) |
PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and must be called every time a render is called the typical order of call must be Renderer->Prerender // at this point the frame buffer is garbage -Clear the ogl -Do your render functions Renderer->Render. | |
bool | Render (int pLayer=-1) |
Renders one frame. | |
OGLSetupSceneLights (FBRenderOptions pRenderOptions) | |
Setup the scene lights in OpenGL. | |
OGLModelDisplay (FBRenderOptions pRenderOptions, FBModel pModel) | |
Display Model in OpenGL. | |
bool | SetViewingOptions (FBViewingOptions pOptions) |
Set the viewing options. | |
FBViewingOptions | GetViewingOptions () |
Obtain the current viewing options. | |
bool | FrameCurrentCameraWithModels (bool pAll) |
Frame the current camera either with all models or with the currently selected models. | |
bool | MouseInput (int pX, int pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pLayer=-1) |
Mouse input. | |
bool | MouseInputNormalized (float pX, float pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pLayer=-1, int pPaneId=-1) |
Mouse input. | |
bool | Pick (int pX, int pY, tuple pPickInfosList, bool pNeedIntersectPosition=False) |
Object picking selection. | |
bool | PickNormalized (float pX, float pY, tuple pPickInfosList, bool pNeedIntersectPosition=False, int pPaneId=-1) |
Object picking selection. | |
bool | RectPick (int pX1, int pY1, int pX2, int pY2, tuple pPickInfosList) |
Object rectangle selection. | |
bool | RectPickNormalized (float pX1, float pY1, float pX2, float pY2, tuple pPickInfosList, int pPaneId=-1) |
Object rectangle selection. | |
int | GetLastPickInfoList (tuple pPickInfosList) |
Return the last picking info list in the current view pane. | |
KeyboardInput (FBDeviceKeyboardKey pKeyIndex, bool pKeyState, bool pIsTrigger=False) | |
Keyboard input. | |
FBModel | GetDisplayableGeometry (int pIndex) |
Get the displayable geometry model. | |
FBLight | GetDisplayableLight (int pIndex) |
Get the displayable light. | |
tuple | GetDisplayableGeometryInCameraFrustum (tuple pModelList=None, FBCamera pCamera=None) |
Get a list of displayable geometry inside given camera's frustum. | |
bool | IsModelInsideCameraFrustum (FBModel pGeometry, FBCamera pCamera=None) |
To tell if given model is located inside camera's frustum. | |
Public Attributes | |
FBPropertyCamera | CurrentCamera |
Read Write Property: Current camera. | |
FBPropertyBase | UseCameraSwitcher |
Read Write Property: Activate/Deactivate usage of camera switcher for the first model view of main viewer. | |
FBPropertyManipulatorTransform | ManipulatorTransform |
Read Only Property: Manipulator responsible of moving objects. | |
FBPropertyListManipulator | Manipulators |
List: of manipulators. | |
FBPropertyScene | Scene |
Read Write Property: Scene that the renderer will use/draw. | |
FBPropertyBase | AutoEvaluate |
Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene. | |
FBPropertyBase | Background |
Read Write Property: The renderer. | |
FBPropertyBase | ShowStats |
Read Write Property: Show the stats about FPS, Evaluation rate ... | |
FBPropertyBase | FrustumCulling |
Read Write Property: Turn on/off the early frustum culling optimization. | |
FBPropertyBase | DisplayNormals |
Read Write Property: Display model normals in main viewer. | |
FBPropertyBase | IDBufferPicking |
Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking. | |
FBPropertyBase | IDBufferPickingAlpha |
Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this threshold, will be considered as invisible during ID picking. | |
FBPropertyBase | IDBufferDisplay |
Read write Property: Render Model's unique Color ID into color Buffer (used for picking). | |
FBPropertyBase | SelectionOverride |
Read write Property: Add transparent color override layer on selected models if true. | |
FBPropertyBase | SelectionOverrideTransparency |
Read write Property: Selection override layer transparency. | |
FBPropertyBase | SelectionOverrideColor |
Read write Property: Selection override layer color. | |
FBPropertyBase | SelectionForceSnapPointsDisplay |
Read write Property: Force show all feature points (pivots and etc) on selected models if true, ignore individual model's settings. | |
FBPropertyBase | DisplaySetUpdateId |
Read Only Property: Current DisplaySet Update Id. | |
FBPropertyBase | RendererUpdateId |
Read Only Property: Current Render Update Id. | |
FBPropertyBase | DisplayableGeometryCount |
Read Only Property: Displayable geometry count. | |
FBPropertyBase | DisplayableLightCount |
Read Only Property: Displayable light count. | |
FBPropertyListRendererCallback | RendererCallbacks |
List: Renderer Callbacks attached. | |
FBPropertyBase | RegisteredCallbackCount |
Read Only Property: Registered Renderer Callback Count. | |
FBPropertyBase | CurrentPaneCallbackIndex |
Read Write Property: Current Pane's Renderer Callback Index. | |
FBPropertyBase | CurrentPaneCallbackPrefIndex |
Read Write Property: Current Pane's Renderer Callback Preference Index. | |
FBPropertyBase | AdvancedMaterialMode |
Read write Property: Turn on/off advanced material setting UI widgets. | |
FBPropertyBase | AdvancedLightingMode |
Read write Property: Turn on/off advanced lighting setting UI widgets. |
__init__ | ( | object | pObject | ) |
Constructor.
Client code cannot instantiate objects of this class. The FBSystem and FBScene classes provide access to the current renderer.
pObject | For internal use only. |
Reimplemented from FBComponent.
Must be called before inputing if the same renderer is used on multiple views/cameras in the same application.
pX | X position where to render. |
pY | Y position where to render. |
pW | Width of render area. |
pH | Hight of render area. |
RenderBegin.
pX | X position where to render. |
pY | Y position where to render. |
pW | Width of render area. |
pH | Hight of render area. |
must be called before rendering can happen
RenderEnd.
pView | If you want the renderer to draw artifacts, such as TimeCode, CameraLabel or SafeArea, you must provide the FBView on which the renderer draws on. |
PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and must be called every time a render is called the typical order of call must be Renderer->Prerender // at this point the frame buffer is garbage -Clear the ogl -Do your render functions Renderer->Render.
pLayer | Rendering layer ID(default=-1). |
Renders one frame.
pLayer | Rendering layer ID(default=-1). |
OGLSetupSceneLights | ( | FBRenderOptions | pRenderOptions | ) |
Setup the scene lights in OpenGL.
pRenderOptions | See FBRenderOptions for more detail. |
OGLModelDisplay | ( | FBRenderOptions | pRenderOptions, |
FBModel | pModel | ||
) |
Display Model in OpenGL.
For Internal testing purpose only.
pRendererOptions | See FBRenderOptions for more detail. |
pModel | model to be displayed. |
bool SetViewingOptions | ( | FBViewingOptions | pOptions | ) |
Set the viewing options.
pOptions | See FBViewingOptions for more detail. |
FBViewingOptions GetViewingOptions | ( | ) |
Obtain the current viewing options.
Frame the current camera either with all models or with the currently selected models.
pAll | true to frame with all models. |
bool MouseInput | ( | int | pX, |
int | pY, | ||
FBInputType | pInputType, | ||
int | pButtonKey, | ||
FBInputModifier | pModifier, | ||
int | pLayer = -1 |
||
) |
Mouse input.
pX | X position. |
pY | Y position. |
pInputType | Type of input. |
pButtonKey | Button/Key pressed. |
pModifier | Modifier pressed (CTRL/ALT/SHIFT). |
pLayer | Rendering layer ID(default=-1). |
bool MouseInputNormalized | ( | float | pX, |
float | pY, | ||
FBInputType | pInputType, | ||
int | pButtonKey, | ||
FBInputModifier | pModifier, | ||
int | pLayer = -1 , |
||
int | pPaneId = -1 |
||
) |
Mouse input.
pX | X position, normalized to the range of [0, 1] in the view port dimension. |
pY | Y position, normalized to the range of [0, 1] in the view port dimension. |
pInputType | Type of input. |
pButtonKey | Button/Key pressed. |
pModifier | Modifier pressed (CTRL/ALT/SHIFT). |
pLayer | Rendering layer ID(default=-1). |
pPaneId | specify which pane's dimension used for normalization, default (-1) for the whole viewer. |
Object picking selection.
pX | X position. |
pY | Y position. |
pPickInfosList | The list of pick infos. |
pNeedIntersectPosition | require valid intersection position if true, this will take more time to process, and not reliable with very dense mesh. |
bool PickNormalized | ( | float | pX, |
float | pY, | ||
tuple | pPickInfosList, | ||
bool | pNeedIntersectPosition = False , |
||
int | pPaneId = -1 |
||
) |
Object picking selection.
pX | X position, normalized to the range of [0, 1] in the view port dimension. |
pY | Y position, normalized to the range of [0, 1] in the view port dimension. |
pPickInfosList | The list of pick infos. |
pNeedIntersectPosition | require valid intersection position if true, this will take more time to process, and not reliable with very dense mesh. |
pPaneId | specify which pane's dimension used for normalization, default (-1) for the whole viewer. |
Object rectangle selection.
pX1 | Left upper corner X position. |
pY1 | Left upper corner y position. |
pX2 | Right bottom corner X position. |
pY2 | Right bottom corner y position. |
pPickInfosList | The list of pick infos. |
bool RectPickNormalized | ( | float | pX1, |
float | pY1, | ||
float | pX2, | ||
float | pY2, | ||
tuple | pPickInfosList, | ||
int | pPaneId = -1 |
||
) |
Object rectangle selection.
pX1 | Left upper corner X position, normalized to the range of [0, 1] in the viewport dimension. |
pY1 | Left upper corner y position, normalized to the range of [0, 1] in the viewport dimension. |
pX2 | Right bottom corner X position, normalized to the range of [0, 1] in the viewport dimension. |
pY2 | Right bottom corner y position, normalized to the range of [0, 1] in the viewport dimension. |
pPickInfosList | The list of pick infos. |
pPaneId | specify which pane's dimension used for normalization, default (-1) for the whole viewer. |
Return the last picking info list in the current view pane.
pPickInfosList | The list of pick infos. |
KeyboardInput | ( | FBDeviceKeyboardKey | pKeyIndex, |
bool | pKeyState, | ||
bool | pIsTrigger = False |
||
) |
Keyboard input.
pKeyIndex | Key index. (See "enum FBDeviceKeyboardKey" above for supported keys) |
pKeyState | Key state. (True == key is down, False == key is up) |
pIsTrigger | When setting pKeyState to True, resets key state to False right after operation. |
Get the displayable geometry model.
Those geometry models which have Show property ON are considered as "displayable".
pIndex | displayable geometry model index to query. |
Get the displayable light.
Those light models which have Show property ON are considered as "displayable".
pIndex | displayable light index to query. |
Get a list of displayable geometry inside given camera's frustum.
This function will return conservative result. It's possible for some geometry outside of the frustum will be considered to be visible, but it will not skip any real visible geometry. This function should only be called in the main rendering thread.
pModelList | ModelList holding the return models. |
pCamera | use current camera if NULL. |
To tell if given model is located inside camera's frustum.
This function will return conservative result. It's possible for some geometry outside of the frustum will be considered to be visible, but it will not skip any real visible geometry. This function should only be called in the main rendering thread.
pGeometry | the geometry to be queried. |
pCamera | use current camera if NULL. |
FBPropertyCamera CurrentCamera |
Read Write Property: Current camera.
if UseCameraSwitcher is on, this will Get/Set camera switcher's current camera;
FBPropertyBase UseCameraSwitcher |
Read Write Property: Activate/Deactivate usage of camera switcher for the first model view of main viewer.
FBPropertyManipulatorTransform ManipulatorTransform |
Read Only Property: Manipulator responsible of moving objects.
List: of manipulators.
FBPropertyScene Scene |
Read Write Property: Scene that the renderer will use/draw.
FBPropertyBase AutoEvaluate |
Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene.
FBPropertyBase Background |
Read Write Property: The renderer.
FBPropertyBase ShowStats |
Read Write Property: Show the stats about FPS, Evaluation rate ...
like when using Shift-F in main viewer.
FBPropertyBase FrustumCulling |
Read Write Property: Turn on/off the early frustum culling optimization.
FBPropertyBase DisplayNormals |
Read Write Property: Display model normals in main viewer.
FBPropertyBase IDBufferPicking |
Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking.
FBPropertyBase IDBufferPickingAlpha |
Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this threshold, will be considered as invisible during ID picking.
FBPropertyBase IDBufferDisplay |
Read write Property: Render Model's unique Color ID into color Buffer (used for picking).
FBPropertyBase SelectionOverride |
Read write Property: Add transparent color override layer on selected models if true.
FBPropertyBase SelectionOverrideTransparency |
Read write Property: Selection override layer transparency.
FBPropertyBase SelectionOverrideColor |
Read write Property: Selection override layer color.
FBPropertyBase SelectionForceSnapPointsDisplay |
Read write Property: Force show all feature points (pivots and etc) on selected models if true, ignore individual model's settings.
FBPropertyBase DisplaySetUpdateId |
Read Only Property: Current DisplaySet Update Id.
Add/Delete models, Show/Hide models will affect DisplaySet.
FBPropertyBase RendererUpdateId |
Read Only Property: Current Render Update Id.
DisplaySet update, material change, texture changes and shader change and other operations will trigger Renderer update.
FBPropertyBase DisplayableGeometryCount |
Read Only Property: Displayable geometry count.
FBPropertyBase DisplayableLightCount |
Read Only Property: Displayable light count.
FBPropertyListRendererCallback RendererCallbacks |
List: Renderer Callbacks attached.
FBPropertyBase RegisteredCallbackCount |
Read Only Property: Registered Renderer Callback Count.
FBPropertyBase CurrentPaneCallbackIndex |
Read Write Property: Current Pane's Renderer Callback Index.
FBPropertyBase CurrentPaneCallbackPrefIndex |
Read Write Property: Current Pane's Renderer Callback Preference Index.
FBPropertyBase AdvancedMaterialMode |
Read write Property: Turn on/off advanced material setting UI widgets.
FBPropertyBase AdvancedLightingMode |
Read write Property: Turn on/off advanced lighting setting UI widgets.
Include UI widgets for various advanced lighting setting, includes: Light: area light, spot light inner/outer angles, barndoors and etc.,; Model: PrimaryVisibility, CastsShadows and ReceiveShadows.
MoBu default render doesn't utilize those advanced lighting properties, they're provided for pipeline interop and custom plugin development purpose. This property must been set to be true before creating any scene light or model objects to allow UI widgets display properly.
it's equivalent to the config item "AdvancedLightingUISetting" at [Rendering] section"