fbsdk/fbrenderer.h File Reference
 
 
 
fbsdk/fbrenderer.h File Reference

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


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

File Description

Rendering engine.

Definition in file fbrenderer.h.

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

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:
UniqueNameStr Unique name.
ClassName RendererCallback class name.
Label Short description.
Description Long description.
IconFilename Name 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:
ClassName FBRendererCallback class name.
Parent Class parent.

Definition at line 394 of file fbrenderer.h.

#define FBRendererCallbackImplementation (   ThisComponent )    FBClassImplementation( ThisComponent )

FBRendererCallback class implementation.

Parameters:
ThisComponent Class to implement.

Definition at line 403 of file fbrenderer.h.


Typedef Documentation

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

K_DLLIMPORT void FBDestroyPickInfosList ( FBPickInfosList pPickInfosList )

Delete a FBPickInfosList object.

Parameters:
pPickInfosList pointer to the object created with a call to FBCreatePickInfosList().
FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
RendererCallback   
)

Go to the source code of this file.