View Table


Related topics include:

For an overview and a list of lookup tables, see Lookup Tables.

Each entry of a view table holds a view definition.

------------------------------------------------------------------------------------------------------------------------------
Table Value Mask                                               Description                       Fallback                  PEX
------------------------------------------------------------------------------------------------------------------------------
PEXLUTVViewClipFlags                                                                                                       5.0
                                                               clip flags                        PEXClipAll
PEXLUTVViewClipLimits                                                                                                      5.0
                                                               clip limits                       (0,0,0)-(1,1,1)
PEXLUTVViewOrientationMatrix                                                                                                      5.0
                                                               view orientation matrix           Identity                  5.0
                                                               view orientation matrix hints(a)  Identity                          5.2
PEXLUTVViewMappingMatrix                                                                                                          5.0
                                                               view mapping matrix               Identity                  5.0
                                                               view mapping matrix hintsa        Identity                  5.2
PEXLUTVViewEyepointHint(b)                                                                                                         5.2
                                                               eyepoint hint                     (PEXViewEyepointImplicit
                                                                                                 ,n/a)
PEXLUTVViewAll5_1 (selects entire table entry except 5.2 items)                                                            5.0
PEXLUTVViewAll5_2 (selects entire table entry)                                                                             5.2
------------------------------------------------------------------------------------------------------------------------------

(a)
The requests PEXSetTableEntries, PEXGetTableEntries, PEXGetTableEntry, and PEXGetPredefined Entries do not operate on the hints portion of the matrix field.
(b)
The requests PEXSetTableEntries, PEXGetTableEntries, PEXGetTableEntry, and PEXGetPredefinedEntries do not operate on the eyepoint value of a view table entry.

clip_flags
contains three bits that indicate whether primitives should be clipped against the sides, back, and front planes of the volume specified by clip_limits.

clip_limits
specify the minimum and maximum of a rectangular volume in NPC's. Together these define the view clipping volume. The actual clipping volume for each view is a rectangular parallelpiped that is computed by taking the intersection of the view clipping volume and the NPC subvolume.

orientation_matrix
defines the mapping from WC's to VRC's.

Together the orientation_matrix and mapping_matrix define the view transformation.

mapping_matrix
defines the mapping from VRC's to NPC's.

Together the orientation_matrix and mapping_matrix define the view transformation.

matrix hint
PEXlib defines the following matrix hints:

PEXMHNone, PEXMHIdentity, PEXMHTranslation, PEXMHRotation, PEXMHReflection, PEXMHUniformScale, PEXMHNonUniformScale, PEXMHShear, PEXMHPerspProj, PEXMHNonPerspProj, PEXMH3DTo2DParProj, PEXMH3DTo2DPerspProj, PEXMHZero, PEXMHSingularUnknown, PEXMHNonSingularUnknown

See PEXOCCSetGlobalTransform for an explanation of matrix hints.

eyepoint hint
a hint describing the definition (in WC's) of the eyepoint used with the view. EyepointUsed, inquired with the function PEXGetImpDepConstants, indicates whether the implementation uses the eyepoint hint specified.

PEXlib defines the following eyepoint hints:

PEXViewEyepointImplicit -
The eyepoint is defined implicitly by the view. No additional data is defined with this method. The eyepoint is obtained by transforming a point at infinite positive z (NPC's), (0, 0, 1, 0), by the inverse of the view transformation. If the view matrix specifies perspective projection, a point is obtained. If parallel projection is in use, then a direction vector is obtained. Singular view matrices lead to implementation-dependent results.

PEXViewEyepointDirection -
The eyepoint is located at infinity along a particular direction. A vector (in WC's) anchored at the origin and pointing toward the eyepoint defines the eyepoint. The Directional method should be used when the projection is parallel. It can also be used with faster but less accurate results when the projection is perspective.

PEXViewEyepointPositional -
The eyepoint is located at a particular position (in WC's). This method should be used only when the projection is perspective.

The implementation accesses the view table during rendering. The value of the pipeline state's view index selects the desired entry of the table.

If you specify an unsupported eyepoint specification method, if an undefined bit is set in the clip flags field, or if a directional eyepoint hint has a direction vector of length zero, then the implementation issues a BadValue error.

Valid view table indices are in the range [0, 65534]. The fallback entry is entry 0.