Class VRTrackedCamera
- java.lang.Object
-
- org.lwjgl.openvr.VRTrackedCamera
-
public class VRTrackedCamera extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
nVRTrackedCamera_AcquireVideoStreamingService(int nDeviceIndex, long pHandle)
Unsafe version of:AcquireVideoStreamingService
static long
nVRTrackedCamera_GetCameraErrorNameFromEnum(int eCameraError)
Unsafe version of:GetCameraErrorNameFromEnum
static int
nVRTrackedCamera_GetCameraFrameSize(int nDeviceIndex, int eFrameType, long pnWidth, long pnHeight, long pnFrameBufferSize)
Unsafe version of:GetCameraFrameSize
static int
nVRTrackedCamera_GetCameraIntrinsics(int nDeviceIndex, int nCameraIndex, int eFrameType, long pFocalLength, long pCenter)
Unsafe version of:GetCameraIntrinsics
static int
nVRTrackedCamera_GetCameraProjection(int nDeviceIndex, int nCameraIndex, int eFrameType, float flZNear, float flZFar, long pProjection)
Unsafe version of:GetCameraProjection
static int
nVRTrackedCamera_GetVideoStreamFrameBuffer(long hTrackedCamera, int eFrameType, long pFrameBuffer, int nFrameBufferSize, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamFrameBuffer
static int
nVRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, long ppD3D11ShaderResourceView, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamTextureD3D11
static int
nVRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, long pglTextureId, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamTextureGL
static int
nVRTrackedCamera_GetVideoStreamTextureSize(int nDeviceIndex, int eFrameType, long pTextureBounds, long pnWidth, long pnHeight)
Unsafe version of:GetVideoStreamTextureSize
static int
nVRTrackedCamera_HasCamera(int nDeviceIndex, long pHasCamera)
Unsafe version of:HasCamera
static int
VRTrackedCamera_AcquireVideoStreamingService(int nDeviceIndex, java.nio.LongBuffer pHandle)
Acquiring streaming service permits video streaming for the caller.static java.lang.String
VRTrackedCamera_GetCameraErrorNameFromEnum(int eCameraError)
Returns a string for an error.static int
VRTrackedCamera_GetCameraFrameSize(int nDeviceIndex, int eFrameType, java.nio.IntBuffer pnWidth, java.nio.IntBuffer pnHeight, java.nio.IntBuffer pnFrameBufferSize)
Gets size of the image frame.static int
VRTrackedCamera_GetCameraIntrinsics(int nDeviceIndex, int nCameraIndex, int eFrameType, HmdVector2.Buffer pFocalLength, HmdVector2.Buffer pCenter)
static int
VRTrackedCamera_GetCameraProjection(int nDeviceIndex, int nCameraIndex, int eFrameType, float flZNear, float flZFar, HmdMatrix44 pProjection)
static int
VRTrackedCamera_GetCameraTrackingSpace()
static int
VRTrackedCamera_GetVideoStreamFrameBuffer(long hTrackedCamera, int eFrameType, java.nio.ByteBuffer pFrameBuffer, CameraVideoStreamFrameHeader pFrameHeader)
Copies the image frame into a caller's provided buffer.static int
VRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, org.lwjgl.PointerBuffer ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader pFrameHeader)
Access a shared D3D11 texture for the specified tracked camera stream.static int
VRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, org.lwjgl.PointerBuffer ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader pFrameHeader, int nFrameHeaderSize)
Access a shared D3D11 texture for the specified tracked camera stream.static int
VRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, java.nio.IntBuffer pglTextureId, CameraVideoStreamFrameHeader pFrameHeader)
Access a shared GL texture for the specified tracked camera stream.static int
VRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, java.nio.IntBuffer pglTextureId, CameraVideoStreamFrameHeader pFrameHeader, int nFrameHeaderSize)
Access a shared GL texture for the specified tracked camera stream.static int
VRTrackedCamera_GetVideoStreamTextureSize(int nDeviceIndex, int eFrameType, VRTextureBounds pTextureBounds, java.nio.IntBuffer pnWidth, java.nio.IntBuffer pnHeight)
Gets size of the image frame.static int
VRTrackedCamera_HasCamera(int nDeviceIndex, java.nio.ByteBuffer pHasCamera)
For convenience, same as tracked property requestVR.ETrackedDeviceProperty_Prop_HasCamera_Bool
.static int
VRTrackedCamera_ReleaseVideoStreamingService(long hTrackedCamera)
static int
VRTrackedCamera_ReleaseVideoStreamTextureGL(long hTrackedCamera, int glTextureId)
static void
VRTrackedCamera_SetCameraTrackingSpace(int eUniverse)
-
-
-
Method Detail
-
nVRTrackedCamera_GetCameraErrorNameFromEnum
public static long nVRTrackedCamera_GetCameraErrorNameFromEnum(int eCameraError)
Unsafe version of:GetCameraErrorNameFromEnum
-
VRTrackedCamera_GetCameraErrorNameFromEnum
@Nullable public static java.lang.String VRTrackedCamera_GetCameraErrorNameFromEnum(int eCameraError)
Returns a string for an error.- Parameters:
eCameraError
- one of:
-
nVRTrackedCamera_HasCamera
public static int nVRTrackedCamera_HasCamera(int nDeviceIndex, long pHasCamera)
Unsafe version of:HasCamera
-
VRTrackedCamera_HasCamera
public static int VRTrackedCamera_HasCamera(int nDeviceIndex, java.nio.ByteBuffer pHasCamera)
For convenience, same as tracked property requestVR.ETrackedDeviceProperty_Prop_HasCamera_Bool
.
-
nVRTrackedCamera_GetCameraFrameSize
public static int nVRTrackedCamera_GetCameraFrameSize(int nDeviceIndex, int eFrameType, long pnWidth, long pnHeight, long pnFrameBufferSize)
Unsafe version of:GetCameraFrameSize
-
VRTrackedCamera_GetCameraFrameSize
public static int VRTrackedCamera_GetCameraFrameSize(int nDeviceIndex, int eFrameType, java.nio.IntBuffer pnWidth, java.nio.IntBuffer pnHeight, java.nio.IntBuffer pnFrameBufferSize)
Gets size of the image frame.
-
nVRTrackedCamera_GetCameraIntrinsics
public static int nVRTrackedCamera_GetCameraIntrinsics(int nDeviceIndex, int nCameraIndex, int eFrameType, long pFocalLength, long pCenter)
Unsafe version of:GetCameraIntrinsics
-
VRTrackedCamera_GetCameraIntrinsics
public static int VRTrackedCamera_GetCameraIntrinsics(int nDeviceIndex, int nCameraIndex, int eFrameType, HmdVector2.Buffer pFocalLength, HmdVector2.Buffer pCenter)
-
nVRTrackedCamera_GetCameraProjection
public static int nVRTrackedCamera_GetCameraProjection(int nDeviceIndex, int nCameraIndex, int eFrameType, float flZNear, float flZFar, long pProjection)
Unsafe version of:GetCameraProjection
-
VRTrackedCamera_GetCameraProjection
public static int VRTrackedCamera_GetCameraProjection(int nDeviceIndex, int nCameraIndex, int eFrameType, float flZNear, float flZFar, HmdMatrix44 pProjection)
-
nVRTrackedCamera_AcquireVideoStreamingService
public static int nVRTrackedCamera_AcquireVideoStreamingService(int nDeviceIndex, long pHandle)
Unsafe version of:AcquireVideoStreamingService
-
VRTrackedCamera_AcquireVideoStreamingService
public static int VRTrackedCamera_AcquireVideoStreamingService(int nDeviceIndex, java.nio.LongBuffer pHandle)
Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. The camera may go inactive due to lack of active consumers or headset idleness.
-
VRTrackedCamera_ReleaseVideoStreamingService
public static int VRTrackedCamera_ReleaseVideoStreamingService(long hTrackedCamera)
-
nVRTrackedCamera_GetVideoStreamFrameBuffer
public static int nVRTrackedCamera_GetVideoStreamFrameBuffer(long hTrackedCamera, int eFrameType, long pFrameBuffer, int nFrameBufferSize, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamFrameBuffer
-
VRTrackedCamera_GetVideoStreamFrameBuffer
public static int VRTrackedCamera_GetVideoStreamFrameBuffer(long hTrackedCamera, int eFrameType, java.nio.ByteBuffer pFrameBuffer, CameraVideoStreamFrameHeader pFrameHeader)
Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows the caller to determine if the frame as advanced per the frame header sequence. If there is no frame available yet, due to initial camera spinup or re-activation, the error will beVR.EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable
. Ideally a caller should be polling at ~16ms intervals.
-
nVRTrackedCamera_GetVideoStreamTextureSize
public static int nVRTrackedCamera_GetVideoStreamTextureSize(int nDeviceIndex, int eFrameType, long pTextureBounds, long pnWidth, long pnHeight)
Unsafe version of:GetVideoStreamTextureSize
-
VRTrackedCamera_GetVideoStreamTextureSize
public static int VRTrackedCamera_GetVideoStreamTextureSize(int nDeviceIndex, int eFrameType, VRTextureBounds pTextureBounds, java.nio.IntBuffer pnWidth, java.nio.IntBuffer pnHeight)
Gets size of the image frame.
-
nVRTrackedCamera_GetVideoStreamTextureD3D11
public static int nVRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, long ppD3D11ShaderResourceView, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamTextureD3D11
-
VRTrackedCamera_GetVideoStreamTextureD3D11
public static int VRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, org.lwjgl.PointerBuffer ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader pFrameHeader, int nFrameHeaderSize) public static int VRTrackedCamera_GetVideoStreamTextureD3D11(long hTrackedCamera, int eFrameType, long pD3D11DeviceOrResource, org.lwjgl.PointerBuffer ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader pFrameHeader)
Access a shared D3D11 texture for the specified tracked camera stream.The camera frame type
VR.EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted
is not supported directly as a shared texture. It is an interior subregion of the shared textureVR.EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted
. Instead, useGetVideoStreamTextureSize
withVRTrackedCameraFrameType_Undistorted
to determine the proper interior subregion bounds along withGetVideoStreamTextureD3D11()
withVRTrackedCameraFrameType_MaximumUndistorted
to provide the texture. TheVRTrackedCameraFrameType_MaximumUndistorted
will yield an image where the invalid regions are decoded by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described byVRTrackedCameraFrameType_Undistorted
guarantees a rectangle where all pixels are valid.
-
nVRTrackedCamera_GetVideoStreamTextureGL
public static int nVRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, long pglTextureId, long pFrameHeader, int nFrameHeaderSize)
Unsafe version of:GetVideoStreamTextureGL
-
VRTrackedCamera_GetVideoStreamTextureGL
public static int VRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, java.nio.IntBuffer pglTextureId, CameraVideoStreamFrameHeader pFrameHeader, int nFrameHeaderSize) public static int VRTrackedCamera_GetVideoStreamTextureGL(long hTrackedCamera, int eFrameType, java.nio.IntBuffer pglTextureId, CameraVideoStreamFrameHeader pFrameHeader)
Access a shared GL texture for the specified tracked camera stream.
-
VRTrackedCamera_ReleaseVideoStreamTextureGL
public static int VRTrackedCamera_ReleaseVideoStreamTextureGL(long hTrackedCamera, int glTextureId)
-
VRTrackedCamera_SetCameraTrackingSpace
public static void VRTrackedCamera_SetCameraTrackingSpace(int eUniverse)
-
VRTrackedCamera_GetCameraTrackingSpace
public static int VRTrackedCamera_GetCameraTrackingSpace()
-
-