Forum Discussion
sp82
10 years agoHonored Guest
async timewarp with directx->opengl interop
Hi all, just a day before big conferences and announcements on new developments in driver space VR optimizations I want ask if someone have tried to implement the asyc timewarp using this extension: ...
sp82
10 years agoHonored Guest
Hi Davis,
I know your code! I have the m.e.a.p. of your book! Very Nice work! Thanks!
I think your code it's very usefull to render opengl to oculus with direct mode (direct mode it's supported on by directx as we know) or in general to embed opengl content into DirectX applications.
The issue 2 on this specs: https://www.opengl.org/registry/specs/NV/DX_interop.txt
do not avoid concurrency between opengl and directx except if you want to render on the same resource, so I think the 2 contexts are indipendent.
With little work I think it's possible write a non blocking syncronization using a triple buffer architecture where directx render alternatively on 2 buffer and opengl render from the third one, where the most recent rendered frame is, and render to the frontbuffer (ExtendedMode, not DirectMode).
If all work asyncroniusly it's possible to implement async timewarp maybe with "racing beam capability".
All of it in a zero-copy fashion!
I don't know, I'm a system integrator, of boring enterprise systems, and I like solve problems like this but I don't know DirectX, I don't want, and I don't have the skills to implement this stuff but I want badly the async timewarp with multi-layer composition for cockpits games.
I spend a lot of time in Elite Dangerous and iRacing and ED in particular skip a lot frames randomly even with very good hardware and all the settings lowered.
I know your code! I have the m.e.a.p. of your book! Very Nice work! Thanks!
I think your code it's very usefull to render opengl to oculus with direct mode (direct mode it's supported on by directx as we know) or in general to embed opengl content into DirectX applications.
The issue 2 on this specs: https://www.opengl.org/registry/specs/NV/DX_interop.txt
do not avoid concurrency between opengl and directx except if you want to render on the same resource, so I think the 2 contexts are indipendent.
With little work I think it's possible write a non blocking syncronization using a triple buffer architecture where directx render alternatively on 2 buffer and opengl render from the third one, where the most recent rendered frame is, and render to the frontbuffer (ExtendedMode, not DirectMode).
If all work asyncroniusly it's possible to implement async timewarp maybe with "racing beam capability".
All of it in a zero-copy fashion!
I don't know, I'm a system integrator, of boring enterprise systems, and I like solve problems like this but I don't know DirectX, I don't want, and I don't have the skills to implement this stuff but I want badly the async timewarp with multi-layer composition for cockpits games.
I spend a lot of time in Elite Dangerous and iRacing and ED in particular skip a lot frames randomly even with very good hardware and all the settings lowered.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 11 years ago
- 10 years ago
- 11 years ago
- 10 years ago
- 11 years ago