Open Reality Reference Guide
fbrenderer.h File Reference

Rendering engine. More...

#include <kaydaradef.h>
#include <fbsdk/fbmanipulator.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbmodel.h>
#include <fbsdk/fbcamera.h>
#include <fbsdk/fblight.h>
#include <fbsdk/fbshader.h>
#include <fbcontrols/fbcontrols.h>

Go to the source code of this file.

Classes

class  FBViewingOptions
 Viewing options for rendering. More...
 
struct  FBPickInfos
 Picking information structure. More...
 
class  FBRendererCallback
 Open Reality renderer callback interface. More...
 
class  FBPropertyListRendererCallback
 PropertyList: Texture More...
 
class  FBRenderer
 Open Reality renderer interface. More...
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 
#define FBRegisterRendererCallback(UniqueNameStr, ClassName, Label, Description, IconFilename)
 FBRendererCallback class registration. More...
 
#define FBRendererCallbackDeclare(ClassName, Parent)
 FBRendererCallback class declaration. More...
 
#define FBRendererCallbackImplementation(ThisComponent)    FBClassImplementation( ThisComponent )
 FBRendererCallback class implementation. More...
 

Typedefs

typedef class K_DLLIMPORT FBArrayTemplate< FBPickInfosFBPickInfosList
 typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList More...
 

Enumerations

enum  FBDisplayMode {
  kFBDisplayModeDefault = 0 ,
  kFBDisplayModeTexture ,
  kFBDisplayModeHardShade ,
  kFBDisplayModeFlatShade ,
  kFBDisplayModeWireFrame ,
  kFBDisplayModeCount
}
 Model display options. More...
 
enum  FBArrangeMode {
  kHorizontalMode ,
  kVerticalMode
}
 Modes for arranging objects in schematic view. More...
 
enum  FBStereoDisplayMode {
  kFBStereoDisplayCenterEye = 0 ,
  kFBStereoDisplayLeftEye ,
  kFBStereoDisplayRightEye ,
  kFBStereoDisplayActive ,
  kFBStereoDisplayHorizontalInterlace ,
  kFBStereoDisplayCheckerboard ,
  kFBStereoDisplayAnaglyph ,
  kFBStereoDisplayAnaglyphLuminance ,
  kFBStereoDisplayFreeviewParallel ,
  kFBStereoDisplayFreeviewCrossed ,
  kFBStereoDisplayModeCount = 10
}
 
enum  FBDisplayWhat {
  kFBDisplayNone = 0 ,
  kFBDisplayNull = (1 << 0) ,
  kFBDisplayMarker = (1 << 1) ,
  kFBDisplaySkeleton = (1 << 2) ,
  kFBDisplayCenter = (1 << 3) ,
  kFBDisplayLight = (1 << 4) ,
  kFBDisplayCamera = (1 << 5) ,
  kFBDisplay3dIcon = (1 << 6) ,
  kFBDisplayAll = 0xff
}
 Model display mask This mask determines what types of models are displayed by the renderer. More...
 
enum  FBPickingMode {
  kFBPickingModeStandard = 0 ,
  kFBPickingModeXRay ,
  kFBPickingModeModelsOnly ,
  kFBPickingModeCount
}
 3D picking mode. More...
 
enum  FBDeviceKeyboardKey {
  kFBDKeyPageUp ,
  kFBDKeyPageDown ,
  kFBDKeyEnd ,
  kFBDKeyHome ,
  kFBDKeyArrowLeft ,
  kFBDKeyArrowUp ,
  kFBDKeyArrowRight ,
  kFBDKeyArrowDown ,
  kFBDKeyReturn ,
  kFBDKeyEscape ,
  kFBDKeySpace ,
  kFBDKey1 ,
  kFBDKey2 ,
  kFBDKey3 ,
  kFBDKey4 ,
  kFBDKey5 ,
  kFBDKey6 ,
  kFBDKey7 ,
  kFBDKey8 ,
  kFBDKey9 ,
  kFBDKey0 ,
  kFBDKeyF1 ,
  kFBDKeyF2 ,
  kFBDKeyF3 ,
  kFBDKeyF4 ,
  kFBDKeyF5 ,
  kFBDKeyF6 ,
  kFBDKeyF7 ,
  kFBDKeyF8 ,
  kFBDKeyF9 ,
  kFBDKeyF10 ,
  kFBDKeyF11 ,
  kFBDKeyF12
}
 Keyboard keys (for input). More...
 

Functions

 __FB_FORWARD (FBRenderer)
 
 __FB_FORWARD (FBRendererCallback)
 
 FB_FORWARD (FBView)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, Renderer)
 
 FB_FORWARD (FBViewingOptions)
 
 FB_DEFINE_ENUM (K_DLLIMPORT, DeviceKeyboardKey)
 
bool operator== (const FBPickInfos &pLhs, const FBPickInfos &pRhs)
 
K_DLLIMPORT FBPickInfosListFBCreatePickInfosList ()
 Create a FBPickInfosList object. More...
 
K_DLLIMPORT void FBDestroyPickInfosList (FBPickInfosList *pPickInfosList)
 Delete a FBPickInfosList object. More...
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, RendererCallback)
 

Detailed Description

Rendering engine.

Definition in file fbrenderer.h.

Macro Definition Documentation

◆ FBRegisterRendererCallback

#define FBRegisterRendererCallback (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject CreateRendererCallback##ClassName( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName( pName ); \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
FBRegisterObject( ClassName##R1,"renderer/callback/ogl",Label,Description,CreateRendererCallback##ClassName,true, IconFilename ); \
}

FBRendererCallback class registration.

Parameters
UniqueNameStrUnique name.
ClassNameRendererCallback class name.
LabelShort description.
DescriptionLong description.
IconFilenameName of the file containing the icon.

Definition at line 381 of file fbrenderer.h.

◆ FBRendererCallbackDeclare

#define FBRendererCallbackDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName,Parent); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64

FBRendererCallback class declaration.

Parameters
ClassNameFBRendererCallback class name.
ParentClass parent.

Definition at line 401 of file fbrenderer.h.

◆ FBRendererCallbackImplementation

#define FBRendererCallbackImplementation (   ThisComponent)     FBClassImplementation( ThisComponent )

FBRendererCallback class implementation.

Parameters
ThisComponentClass to implement.

Definition at line 410 of file fbrenderer.h.

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbrenderer.h.

Typedef Documentation

◆ FBPickInfosList

typedef class K_DLLIMPORT FBArrayTemplate<FBPickInfos> FBPickInfosList

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

Definition at line 287 of file fbrenderer.h.

Enumeration Type Documentation

◆ FBArrangeMode

Modes for arranging objects in schematic view.

Enumerator
kHorizontalMode 

Arrange all objects horizontally.

kVerticalMode 

Arrange all objects vertically.

Definition at line 87 of file fbrenderer.h.

◆ FBDeviceKeyboardKey

Keyboard keys (for input).

Enumerator
kFBDKeyPageUp 

Page Up.

kFBDKeyPageDown 

Page Down.

kFBDKeyEnd 

End.

kFBDKeyHome 

Home.

kFBDKeyArrowLeft 

Left.

kFBDKeyArrowUp 

Up.

kFBDKeyArrowRight 

Right.

kFBDKeyArrowDown 

Down.

kFBDKeyReturn 

Return.

kFBDKeyEscape 

Escape.

kFBDKeySpace 

Space bar.

kFBDKey1 

'1'.

kFBDKey2 

'2'.

kFBDKey3 

'3'.

kFBDKey4 

'4'.

kFBDKey5 

'5'.

kFBDKey6 

'6'.

kFBDKey7 

'7'.

kFBDKey8 

'8'.

kFBDKey9 

'9'.

kFBDKey0 

'0'.

kFBDKeyF1 

'F1'.

kFBDKeyF2 

'F2'.

kFBDKeyF3 

'F3'.

kFBDKeyF4 

'F4'.

kFBDKeyF5 

'F5'

kFBDKeyF6 

'F6'.

kFBDKeyF7 

'F7'.

kFBDKeyF8 

'F8'.

kFBDKeyF9 

'F9'.

kFBDKeyF10 

'F10'.

kFBDKeyF11 

'F11'.

kFBDKeyF12 

'F12'.

Definition at line 134 of file fbrenderer.h.

◆ FBDisplayMode

Model display options.

Enumerator
kFBDisplayModeDefault 

Use default display mode.

kFBDisplayModeTexture 

Textures are displayed.

kFBDisplayModeHardShade 

Hard shading.

kFBDisplayModeFlatShade 

Flat shading.

kFBDisplayModeWireFrame 

Wire-frame rendering.

kFBDisplayModeCount 

End of enum, this value indicates the number of display modes available.

Definition at line 76 of file fbrenderer.h.

◆ FBDisplayWhat

Model display mask This mask determines what types of models are displayed by the renderer.

Enumerator
kFBDisplayNone 

Nothing is displayed.

kFBDisplayNull 

Null models are displayed.

kFBDisplayMarker 

Markers are displayed.

kFBDisplaySkeleton 

Skeletons and bones are displayed.

kFBDisplayCenter 

Centers are displayed.

kFBDisplayLight 

Lights are displayed.

kFBDisplayCamera 

Cameras are displayed.

kFBDisplay3dIcon 

3D icons are displayed (3D icons are 3D elements that do not exist in the scene).

kFBDisplayAll 

Everything is displayed.

Definition at line 111 of file fbrenderer.h.

◆ FBPickingMode

3D picking mode.

Enumerator
kFBPickingModeStandard 

Standard picking mode.

kFBPickingModeXRay 

X-Ray picking mode (obstructed models are displayed in overlay).

kFBPickingModeModelsOnly 

Models-only mode (no nulls or skeletons are displayed).

kFBPickingModeCount 

End of enum, this valued indicates the number of picking modes available.

Definition at line 125 of file fbrenderer.h.

◆ FBStereoDisplayMode

Enumerator
kFBStereoDisplayCenterEye 

Display in Center Eye Camera, No Stereo effect.

kFBStereoDisplayLeftEye 

Display in Left Eye Caerma, No Stereo effect.

kFBStereoDisplayRightEye 

Display in Right Eye Caerma, No Stereo effect.

kFBStereoDisplayActive 

Display in active mode. User must enable OpenGL quad stereo buffer, and choose approriate stereo mode in video card hardware's config app.

kFBStereoDisplayHorizontalInterlace 

Display in Horizontal Interlace stereo mode.

kFBStereoDisplayCheckerboard 

Display in Checkboard Interlace stereo mode.

kFBStereoDisplayAnaglyph 

Display in Analygh stereo mode.

kFBStereoDisplayAnaglyphLuminance 

Display in Luminance Analygh stereo mode.

kFBStereoDisplayFreeviewParallel 

Display in parallel free view stereo mode.

kFBStereoDisplayFreeviewCrossed 

Display in crossed free view stereo mode.

kFBStereoDisplayModeCount 

update this count value when add new mode

Definition at line 92 of file fbrenderer.h.

Function Documentation

◆ FBCreatePickInfosList()

K_DLLIMPORT FBPickInfosList* FBCreatePickInfosList ( )

Create a FBPickInfosList object.

This is to get around memory management issues when mixing debug and release runtime libraries on Windows. By using the FBCreatePickInfosList/FBDestroyPickInfosList duo of functions, you ensure that the memory used in the array is allocated, reallocated and freed in the same memory pool.

◆ FBDestroyPickInfosList()

K_DLLIMPORT void FBDestroyPickInfosList ( FBPickInfosList pPickInfosList)

Delete a FBPickInfosList object.

Parameters
pPickInfosListpointer to the object created with a call to FBCreatePickInfosList().