Skip to main content
Inspiring
August 26, 2014

Direct HMD Access with Client-Distortion? (Raytracing)

Is it possible to use Direct HMD with client distortion? I have to do client-distortion since I use Raytracing for picture creation - this saves me rendering everything twice to intermediate buffers and picture is less blurry since every pixel matches 100% instead of being sampled from a blurry texture. It is also much faster on simple scenes.

Now I want to use Direct HMD Access for 75Hz and convenience. My idea is to write directly to one Rendertarget that is viewed as is without distortion. Is there any possibility to do this with SDK 0.4.1 or are there any plans on this for future releases?

PS: This could also be usefull with classic Scanline rendering in a deferred renderer where f.e. textureing is done after distortion.

    31 replies

    Inspiring
    August 31, 2014
    No, because also a Triple-Buffer is presented late (at least one frame), while a very high framerate update can reduce the latency. Also the VSync with lower Monitor frequency produces time-judder - if only one VSync and no individual VSync is used, I would tend to take the one of the higher frequency monitor since it is probably the one you are watching.

    To make the problem with triple-buffer a bit clear: Imagine Carmack's Timewarp. If you have a very high framerate - lets say one per line on the monitor - a very high frame rate presented without buffering can produce the same effect! A picture that is tilted in one direction, giving a straight picture to the eye while it is presented. It is some opposite "rolling shutter" effect created by high FPS. A picture presented with triple-buffer without Timewarp will never be like that, and always look tilted while head movement. Once it is presented a rolling-shutter like tilt is seen - and it still is always one frame late.