-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Blogs
Events
Store
Downloads
Posts posted by SimoneSantillo
-
-
Hi everyone, I hope I'm posting in the right place.
I'm working on a mixed reality project that runs at most at 30 FPS and I would like to render it on the HTC Vive Pro 2 at its original frame rate. I noted that the rendering in the HMD suffers from a "ghosting" effect when the user turns his head around. I suppose that the problem is caused by the "Motion Reprojection" (or Async Reprojection) that is done under-the-hood to maintain a 90 Hz framerate on the HMD.
I could not find any way to disable this feature and allow me to render a (at most) 30 FPS video stream on the HMD.
Here's what I've tried up to now:
-
Hit the Shift+A key binding in the SteamVR mirror screen
- Any log is prompted in the developer console
-
Click on the "async_mode_toggle" in the Debug Command window
- I get the following log
- But the console does not tell me if I toggled ON or OFF. Anyway, I repeated this process more than once to test either toggles.
-
Given above points, I was not sure I was effectively disabling the reprojection, so I went to the VIVE Console -> Headset Mirror -> Mirror Mode -> Show Info and check the "Reprojection count" stat
- Even if I (theoretically) disable the async mode from the Debug Command, the reprojection count still adds up, hence I'm not sure the disabling is effectively happening.
Additional information:
- Windows 10 latest update
- i9-11900K
- NVIDIA GeForce RTX 3080 Laptop (v511.65 drivers)
- 64 GB RAM
- DirectX 12
Am I right on thinking that the problem is the "Motion Reprojection"? If so, do you have any suggestion on how to disable it / effectively run an application at its real frame rate, i.e. without interpolated frames?
-
Hit the Shift+A key binding in the SteamVR mirror screen
-
Hi @Alex_HTC
I cannot find any tutorial on how to setup a project that is able to run your proposed example.
Anyway, I think you missed my point: I do not need to just display real world, I would like to access to the images of the cameras in my code.
More specifically, my desired workflow is:
- grab the pass-through camera images
- pass them to my C++ DLL
- render the results to the HTC Vive Pro 2
Do you have any tutorials/pointers to follow?
-
Hi @Meratreun, have you find a way to superimposing objects onto real world?
I am facing your same issues: the SRWorks SDK seems to be outdated and when I import it in a fresh Unity (2020.3.13f1) project it does not even compile.
-
Hi everyone, I'm new to the forum and new to the development on HTC Vive Pro.
I would like to replicate a project - that already works on another HMD - to run on the HTC Vive Pro. The project involves Mixed Reality and I need to grab the pass-through image from the cameras.
I started by following the quick start guide, that actually consists of: i) installing VIVE Registry Tool, ii) installing VIVE Input Utility (VIU) and iii) importing a ViveCameraRig from Prefabs of VIU. After this step, I click on Play button and Unity Scene is correctly rendered to the HMD.
Now, I found out that I should import SRWorks for mixed reality on HTC Vive Pro, but I encounter two problems:
- Following the getting started guide, there are some "camera setting requirements" that I'm not able to find anywhere. Can you give me some hint on this?
- When importing the package in my fresh unity project, I get some errors (see attached image) belonging to the package. These errors suggest that the package is a little bit outdated.
Am I doing everything right? Is SRWorks the right way to achieve mixed reality on HTC Vive Pro?
Thanks in advance for any support! @joshn_vive @Alex_HTC @Corvus
Ghosting effect caused by Async Reprojection
in Developer Support
Posted
TL;DR
Is there a way to effectively disable Async Reproject permanently? Is it possible to run an application at its real frame rate (<90 Hz) without interpolated frames?
Context
I'm working on a mixed reality project developed in Unity that runs at 30 FPS (due to heavy computation) and I am using the HTC Vive Pro 2 as the HMD. The real world frames are provided by a ZED Mini camera, attached on top of the two Vive Pro 2 front cameras. We do not use the cameras for inside-out tracking, nor the base station. In our project tracking is explicitly solved through Aruco markers and that part just works. We employ the HTC Vive Pro 2 just as a display.
I noted that the rendering on the HMD suffers from a "ghosting" effect when the user turns his head around. I suppose that the problem is caused by the "Motion Reprojection" (or Async Reprojection) that is done under-the-hood to maintain a 90 Hz framerate on the HMD while our application can only provide frames at 30 Hz.
Why I think it is caused by reprojection:
This is an image of what we perceive by looking inside the HMD.
Note that the above (right) image has been created ad-hoc just to let you understand the issue, but we have no way of actually capturing the true issue as it does not appear in the Mirror Screen. The arrow in the (right) image shows the direction of the camera movement.
I could not find any way to disable this feature and allow me to stream 30 Hz video stream to the HMD.
Strangely enough, I took a SteamVR System report and it shows that Async Reprojection is disabled, but later in the report it shows
Here's what I've tried up to now:
Additional information:
Question
Am I right on thinking that the problem is the "Async Reprojection"? If so, do you have any suggestion on how to disable it / effectively run an application at its real frame rate, i.e. without interpolated frames? @C.T.