Vuforia Render State.
Public Attributes | |
VuVector4I | viewport |
Viewport settings. | |
VuMatrix44F | vbProjectionMatrix |
Video background projection matrix immediately suitable for rendering in OpenGL. | |
VuMesh * | vbMesh |
Video background mesh. More... | |
VuMatrix44F | viewMatrix |
View matrix (inverse of device pose) immediately suitable for rendering in OpenGL. More... | |
VuMatrix44F | projectionMatrix |
Projection matrix (using near/far plane values set in render controller) More... | |
VuMesh* vbMesh |
Video background mesh.
VuMatrix44F viewMatrix |
View matrix (inverse of device pose) immediately suitable for rendering in OpenGL.
VuMatrix44F projectionMatrix |
Projection matrix (using near/far plane values set in render controller)
Vuforia Engine creates a projection matrix from the latest intrinsic camera calibration information available on the current device, which you can retrieve from the Vuforia State via vuStateGetCameraIntrinsics(). The projection matrix uses an OpenGL-style column-major matrix with the following right-handed coordinate system convention for the view space:
Rendering solutions using a backend with the same matrix convention as OpenGL can use the matrix as is, while those with a different convention (e.g. DirectX) require conversion before use.
Vuforia Engine's projection matrix convention is described as follows. Let's assume that the pose matrix retrieved from an observation via vuObservationGetPoseInfo in VuPoseInfo.pose is set to identity, and the near/far clipping planes have been set up accordingly (e.g. from 0.01f to 100.0f) via vuRenderControllerSetProjectionMatrixNearFar().
Since the Vuforia Engine API provides access to the intrinsic camera calibration, you can always build your own projection matrix if your application uses a rendering solution that requires a different convention. In this case, the observations' pose matrix must be also converted accordingly.