Timewarp: Difference between revisions
Appearance
No edit summary |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{see also|Asynchronous Spacewarp}} | |||
__TOC__ | __TOC__ | ||
==General Information== | ==General Information== | ||
Line 11: | Line 12: | ||
==How Timewarp Reduces Latency== | ==How Timewarp Reduces Latency== | ||
Without Timewarp, your HMD would capture the data about the position of your head, render the image based on this data (correct | Without Timewarp, your HMD would capture the data about the position of your head, render the image based on this data (correct angle etc.), then display the image when the next scene is due to be on screen. In a 60 fps game, a new scene is displayed once every 16.7 milliseconds. With this process, each image you see is based on the head-tracking data from almost 17 milliseconds ago. | ||
With Timewarp, the first 2 parts of the process is the same. your HMD would capture the data about the position of your head and render the image based on the data. Before this image is displayed, your HMD captures the position of your head again. Using this information, the rendered image is modified with a mathematical calculation to fit the latest data. Finally the modified image is displayed on screen. The resulting image is more recent and more accurately depict the position of your head at the time of display than the image initially rendered. Timewarp only works in very short distances and time intervals or the resulting image will look unrealistic or out of place. | With Timewarp, the first 2 parts of the process is the same. your HMD would capture the data about the position of your head and render the image based on the data. Before this image is displayed, your HMD captures the position of your head again. Using this information, the rendered image is modified with a mathematical calculation to fit the latest data. Finally the modified image is displayed on screen. The resulting image is more recent and more accurately depict the position of your head at the time of display than the image initially rendered. Timewarp only works in very short distances and time intervals or the resulting image will look unrealistic or out of place. | ||
Line 21: | Line 22: | ||
==Limitations of Timewarp== | ==Limitations of Timewarp== | ||
Timewarp works well in a rotational only tracking system. When positional / translational tracking is introduced, it does not work as well and presents a few problems.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> When timewarp is used with positional tracking, only the rotational change is reflected in the resulting image. The positional change is | Timewarp works well in a rotational only tracking system. When positional / translational tracking is introduced, it does not work as well and presents a few problems.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> When timewarp is used with positional tracking, only the rotational change is reflected in the resulting image. The positional change is ignored, causing [[judder]]. This is solved through the introduction of [[#Positional Timewarp|Positional Timewarp]]. | ||
Moving objects such as an animated character can also cause judder. The notice-bility of the judder depends on the size, number and speed of the moving object.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> Large and fast moving objects can cause very noticeable judder. | Moving objects such as an animated character can also cause judder. The notice-bility of the judder depends on the size, number and speed of the moving object.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> Large and fast moving objects can cause very noticeable judder. | ||
== | ==Positional Timewarp== | ||
[[Asynchronous Spacewarp]] | [[Positional Timewarp]], also known as [[Asynchronous Spacewarp]] ([[ASW]]), applies animation detection, camera translation, and head translation to previous frames in order to predict the next frame. ASW expends upon [[Asynchronous Timewarp]] (ATW), which only applies to the [[rotational tracking]] of the head. | ||
==Oculus Rift vs. SteamVR vs. PSVR== | ==Oculus Rift vs. SteamVR vs. PSVR== |