Timewarp: Difference between revisions
Appearance
Xinreality (talk | contribs) No edit summary |
Xinreality (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
'''Timewarp''' or '''Time warping''' is a technique in [[VR]] that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> Timewarp can reduce [[latency]] and increase or maintain [[frame rate]]. Additionally, it can reduce [[judder]] caused missed frames (when frames take too long to render).<ref name="YT1">https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> This process takes the already rendered image, modify it with freshly collected positional information from your [[HMD]]'s sensors, then display it to your screen. Utilizing [[depth maps]] ([[Z Buffers]]) already present in the engine, Timewarp requires very little computation. | '''Timewarp''' or '''Time warping''' is a technique in [[VR]] that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> Timewarp can reduce [[latency]] and increase or maintain [[frame rate]]. Additionally, it can reduce [[judder]] caused missed frames (when frames take too long to render).<ref name="YT1">https://www.youtube.com/watch?v=WvtEXMlQQtI</ref> This process takes the already rendered image, modify it with freshly collected positional information from your [[HMD]]'s sensors, then display it to your screen. Utilizing [[depth maps]] ([[Z Buffers]]) already present in the engine, Timewarp requires very little computation. | ||
Timewarp is a feature of [[Oculus SDK]]. It was initially released in the version 0.3.1 of the SDK. | Timewarp is a feature of [[Oculus SDK]]. It was initially released in the version 0.3.1 of the SDK. [[#Positional Timewarp|Positional Timewarp]] was introduced in [[Oculus PC SDK]] 0.6.0<ref>https://twitter.com/volgaksoy/status/599251845156995072</ref>. | ||
'''Asynchronous Timewarp''' or '''ATW''' is when timewarp occurs on another thread in parallel (asynchronously) with rendering. Before every [[vsync]], the ATW thread generates a new timewarped frame from the latest frame completed by the rendering thread.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> | '''Asynchronous Timewarp''' or '''ATW''' is when timewarp occurs on another thread in parallel (asynchronously) with rendering. Before every [[vsync]], the ATW thread generates a new timewarped frame from the latest frame completed by the rendering thread.<ref name=ATW blog1">https://www.oculus.com/blog/asynchronous-timewarp/</ref> | ||
| Line 16: | Line 16: | ||
==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 ignore, causing [[judder]]. | 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 ignore, 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== | |||
==References== | ==References== | ||