GetUseDirect3D11BackBufferTexture2DでVR実装した者です。
左右で別々に角度を指定して描画していましたが、パフォーマンス的にはあまり問題ないと思いますよ。(答えになってないですケド)
一部透明なのは分からないですが、両方のスクリーンでのニアファーとかの設定が片方漏れてるとか…ですかねえ?
//HMDMatrix取得等略…
for (char i = 0; i < 2; i++) {
m_OutScreen[i].SetDraw_Screen(cams.GetCamPos() + this->GetEyePosition_minVR(i), cams.GetCamVec() + this->GetEyePosition_minVR(i), cams.GetCamUp(), cams.GetCamFov(), cams.GetCamNear(), cams.GetCamFar());
{
//3D描画
}
GraphHandle::SetDraw_Screen((int)DX_SCREEN_BACK);
{
SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 255);
m_OutScreen[i].DrawGraph(0, 0, false);
this->PutEye((ID3D11Texture2D*)GetUseDirect3D11BackBufferTexture2D(), i);//バックバッファを渡す
}
}
GraphHandle::SetDraw_Screen((int)DX_SCREEN_BACK);
ClearDrawScreen();
{
//改めてディスプレイ描画
}
ScreenFlip();
vr::VRCompositor()->WaitGetPoses(&tmp, 1, NULL, 1);