|FreeVR: Virtual Reality Integration Library|
INTROSection: FreeVR Functions (3FV)
Updated: 27 November 2013
Index Return to Main Contents
Section 3 of the FreeVR manual describes all library functions, macros and data structures useful for writing virtual reality experiences. (I.e. it does not include functions internal to the library.)
Presently, the API manpages have not yet been created. However, all the API functions are adequately described in the "FreeVR Function Reference Manual" available on the FreeVR webpage:
FreeVR Function Naming SchemeAs an aid for the FreeVR programmer to more rapidly determine what a function does, or make an educated guess for the name of a desired function, FreeVR has adopted a function naming scheme for which all functions should follow. Unfortunately, some of the naming rules conflict with one another, and in these cases a precedence determination is made for each individual function.
FreeVR TypesThe rules for FreeVR type names are similar to the function scheme. Of course, types are much simpler, so generally consist only of the "vr" prefix, and then a name that begins with an upper case letter.
FreeVR types are defined generally for multi-valued collections of data, such as a 4x4 Homogeneous matrix used for graphics operations --- vrMatrix. For functions that return single values (such as the value of a button or valuator), a basic int or double type is used. Many of the FreeVR types store all the values as a single array of doubles in field "v".
Common types used in VR applications include:
NOTE: Because the types vrPoint and vrVector have the same internal representation, one can be converted to the other through a simple type-cast. However, there is a good reason why both types exist. And that reason is that mathematically speaking, they are different quantities. The difference basically amounts to how each 3-quantity array is extended when converted to a 4-quanity entity that will be multiplied by a 4x4 homogeneous matrix --- a point has a "1" as the fourth value, while a vector has a "0".
NOTE: The use of vrEuler is not recommended. This type and related functions are provided only as a convenience for porting applications originally written with libraries that make use of Euler angles. There is one exception to this rule, and that is in the use of the billboarding functions (vrRenderGetBillboardAngles3d() & vrRenderGetBillboardAnglesAd()). In these cases, the relationship between the user and some location in space is returned as Euler angles which can be formulaicly fed into OpenGL calls to rotate objects to face the user.
Along with the above types, FreeVR defines some "macro" values for accessing type subelements in a clear way. These are:
FreeVR API Function CategoriesThe FreeVR API functions can be divided into these general categories of related operations:
Additional documentation is available at the FreeVR web site:
Copyright 2013, Bill Sherman, All rights reserved.
This document was created by man2html, using the manual pages.
Time: 05:02:19 GMT, December 13, 2013