fbrenderer.h File Reference

This reference page is linked to from the following overview topics: Data types & properties.


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...

Defines

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

Typedefs

typedef class FBSDK_DLL
FBArrayTemplate< FBPickInfos
FBPickInfosList
 typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

Enumerations

enum  FBDisplayMode {
  kFBDisplayModeDefault = 0, kFBDisplayModeTexture, kFBDisplayModeHardShade, kFBDisplayModeFlatShade,
  kFBDisplayModeWireFrame, kFBDisplayModeCount
}
 

Model display options.

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 (FBSDK_DLL, Renderer)
 FB_FORWARD (FBViewingOptions)
 FB_DEFINE_ENUM (FBSDK_DLL, DeviceKeyboardKey)
bool operator== (const FBPickInfos &pLhs, const FBPickInfos &pRhs)
FBSDK_DLL FBPickInfosListFBCreatePickInfosList ()
 Create a FBPickInfosList object.
FBSDK_DLL void FBDestroyPickInfosList (FBPickInfosList *pPickInfosList)
 Delete a FBPickInfosList object.
 FB_DEFINE_COMPONENT (FBSDK_DLL, RendererCallback)

Detailed Description

Rendering engine.

Definition in file fbrenderer.h.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbrenderer.h.

#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 374 of file fbrenderer.h.

#define FBRendererCallbackDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName,Parent); \
public: \
    ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:

FBRendererCallback class declaration.

Parameters:
ClassNameFBRendererCallback class name.
ParentClass parent.

Definition at line 394 of file fbrenderer.h.

#define FBRendererCallbackImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

FBRendererCallback class implementation.

Parameters:
ThisComponentClass to implement.

Definition at line 403 of file fbrenderer.h.


Typedef Documentation

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

Definition at line 283 of file fbrenderer.h.


Enumeration Type Documentation

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.

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 85 of file fbrenderer.h.

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 104 of file fbrenderer.h.

                       {
        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          
    };

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 118 of file fbrenderer.h.

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 127 of file fbrenderer.h.


Function Documentation

FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Renderer   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
DeviceKeyboardKey   
)
bool operator== ( const FBPickInfos pLhs,
const FBPickInfos pRhs 
)
FBSDK_DLL 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.

FBSDK_DLL void FBDestroyPickInfosList ( FBPickInfosList pPickInfosList)

Delete a FBPickInfosList object.

Parameters:
pPickInfosListpointer to the object created with a call to FBCreatePickInfosList().
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
RendererCallback   
)