private Size initTrackedCamera() { uint width = 0, height = 0, index = 0; bool pHasCamera = false; trcam_instance = OpenVR.TrackedCamera; if (trcam_instance == null) { Debug.LogError("Error getting TrackedCamera"); camError = true; } else { camerror = trcam_instance.HasCamera(index, ref pHasCamera); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("HasCamera: EVRTrackedCameraError=" + camerror); camError = true; } else if (pHasCamera) { camerror = trcam_instance.GetCameraFrameSize(index, EVRTrackedCameraFrameType.Undistorted, ref width, ref height, ref buffsize); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("GetCameraFrameSize: EVRTrackedCameraError=" + camerror); camError = true; } else { buffer = new byte[buffsize]; pBuffer = Marshal.AllocHGlobal((int)buffsize); camerror = trcam_instance.AcquireVideoStreamingService(index, ref pTrackedCamera); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("AcquireVideoStreamingService: EVRTrackedCameraError=" + camerror); camError = true; } } } else { Debug.Log("no camera found"); camError = true; } } if (camError) { Texture2D tex = (gameObject.GetComponent <Renderer>().material.mainTexture as Texture2D); if (tex != null) { staticBuffer = tex.GetRawTextureData(); } Vector3 scale = gameObject.transform.localScale; return(new Size(scale.x, scale.y)); } return(new Size(width, height)); }
// Token: 0x060028B7 RID: 10423 RVA: 0x000C4AC4 File Offset: 0x000C2CC4 public VideoStream(uint deviceIndex) { this.deviceIndex = deviceIndex; CVRTrackedCamera trackedCamera = OpenVR.TrackedCamera; if (trackedCamera != null) { trackedCamera.HasCamera(deviceIndex, ref this._hasCamera); } }
void Start() { initPos = screen.transform.localPosition; uint width = 0, height = 0; bool pHasCamera = false; trcam_instance = OpenVR.TrackedCamera; if (trcam_instance == null) { Debug.LogError("Error getting TrackedCamera"); } else { camerror = trcam_instance.HasCamera((uint)index, ref pHasCamera); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("HasCamera: EVRTrackedCameraError=" + camerror); return; } if (pHasCamera) { camerror = trcam_instance.GetCameraFrameSize((uint)index, EVRTrackedCameraFrameType.Undistorted, ref width, ref height, ref buffsize); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("GetCameraFrameSize: EVRTrackedCameraError=" + camerror); } else { Debug.Log("width=" + width + " height=" + height + " buffsize=" + buffsize); texture = new Texture2D((int)width, (int)height, TextureFormat.RGBA32, false); buffer = new byte[buffsize]; pBuffer = Marshal.AllocHGlobal((int)buffsize); camerror = trcam_instance.AcquireVideoStreamingService((uint)index, ref pTrackedCamera); if (camerror != EVRTrackedCameraError.None) { Debug.LogError("AcquireVideoStreamingService: EVRTrackedCameraError=" + camerror); } } } else { Debug.Log("no camera found, only Vive Pre and later supported"); } } }