This website uses cookies to improve our services and deliver relevant ads.
By interacting with this site, you agree to this use. For more information, see our Cookies Policy
| ovrResult | ovr_CreateTextureSwapChainDX ( ovrSession session, IUnknown * d3dPtr, const ovrTextureSwapChainDesc * desc, ovrTextureSwapChain * out_TextureSwapChain ) Create Texture Swap Chain suitable for use with Direct3D 11 and 12. |
| ovrResult | ovr_GetTextureSwapChainBufferDX ( ovrSession session, ovrTextureSwapChain chain, int index, IID iid, void ** out_Buffer ) Get a specific buffer within the chain as any compatible COM interface (similar to QueryInterface) |
| ovrResult | ovr_CreateMirrorTextureWithOptionsDX ( ovrSession session, IUnknown * d3dPtr, const ovrMirrorTextureDesc * desc, ovrMirrorTexture * out_MirrorTexture ) Create Mirror Texture which is auto-refreshed to mirror Rift contents produced by this application. |
| ovrResult | ovr_CreateMirrorTextureDX ( ovrSession session, IUnknown * d3dPtr, const ovrMirrorTextureDesc * desc, ovrMirrorTexture * out_MirrorTexture ) Deprecated. |
| ovrResult | ovr_GetMirrorTextureBufferDX ( ovrSession session, ovrMirrorTexture mirrorTexture, IID iid, void ** out_Buffer ) Get a the underlying buffer as any compatible COM interface (similar to QueryInterface) |
ovr_GetTextureSwapChainBufferDX(session, chain, 0, IID_ID3D11Texture2D, &d3d11Texture); ovr_GetTextureSwapChainBufferDX(session, chain, 1, IID_PPV_ARGS(&dxgiResource));
ovrMirrorTexture mirrorTexture = nullptr;
ovrMirrorTextureDesc mirrorDesc = {};
mirrorDesc.Format = OVR_FORMAT_R8G8B8A8_UNORM_SRGB;
mirrorDesc.Width = mirrorWindowWidth;
mirrorDesc.Height = mirrorWindowHeight;
ovrResult result = ovr_CreateMirrorTextureWithOptionsDX(session, d3d11Device,
&mirrorDesc, &mirrorTexture);
[...]
// Destroy the texture when done with it.
ovr_DestroyMirrorTexture(session, mirrorTexture);
mirrorTexture = nullptr;
ID3D11Texture2D* d3d11Texture = nullptr; ovr_GetMirrorTextureBufferDX(session, mirrorTexture, IID_PPV_ARGS(&d3d11Texture)); d3d11DeviceContext->CopyResource(d3d11TextureBackBuffer, d3d11Texture); d3d11Texture->Release(); dxgiSwapChain->Present(0, 0);
/********************************************************************************/
#ifndef OVR_CAPI_D3D_h
#define OVR_CAPI_D3D_h
#include "OVR_CAPI.h"
#include "OVR_Version.h"
#if defined(_WIN32)
#include <Unknwn.h>
#include <guiddef.h>
#if !defined(OVR_EXPORTING_CAPI)
//-----------------------------------------------------------------------------------
// ***** Direct3D Specific
// swapchain formats that are in sRGB-space (e.g. OVR_FORMAT_R8G8B8A8_UNORM_SRGB)
OVR_PUBLIC_FUNCTION(ovrResult)
ovr_CreateTextureSwapChainDX(
ovrSession session,
IUnknown* d3dPtr,
const ovrTextureSwapChainDesc* desc,
ovrTextureSwapChain* out_TextureSwapChain);
OVR_PUBLIC_FUNCTION(ovrResult)
ovr_GetTextureSwapChainBufferDX(
ovrSession session,
ovrTextureSwapChain chain,
int index,
IID iid,
void** out_Buffer);
OVR_PUBLIC_FUNCTION(ovrResult)
ovr_CreateMirrorTextureWithOptionsDX(
ovrSession session,
IUnknown* d3dPtr,
const ovrMirrorTextureDesc* desc,
ovrMirrorTexture* out_MirrorTexture);
OVR_PUBLIC_FUNCTION(ovrResult)
ovr_CreateMirrorTextureDX(
ovrSession session,
IUnknown* d3dPtr,
const ovrMirrorTextureDesc* desc,
ovrMirrorTexture* out_MirrorTexture);
OVR_PUBLIC_FUNCTION(ovrResult)
ovr_GetMirrorTextureBufferDX(
ovrSession session,
ovrMirrorTexture mirrorTexture,
IID iid,
void** out_Buffer);
#endif // !defined(OVR_EXPORTING_CAPI)
#endif // _WIN32
#endif // OVR_CAPI_D3D_h