正常用vr模式開啟以後,就會成這樣:
紅框部分就是我所說的黑邊
通過改變**,可以實現如下效果:
在steamvrrender.cpp裡的rendertexture_renderthread函式修改:
修改為:
void fsteamvrhmd::rendertexture_renderthread(frhicommandlistimmediate& rhicmdlist, ftexture2drhiparamref backbuffer, ftexture2drhiparamref srctexture) const
const uint32 viewportwidth = backbuffer->getsizex();
const uint32 viewportheight = backbuffer->getsizey();
setrendertarget(rhicmdlist, backbuffer, ftexturerhiref());
rhicmdlist.setviewport(0, 0, 0, viewportwidth, viewportheight, 1.0f);
rhicmdlist.setblendstate(tstaticblendstate<>::getrhi());
rhicmdlist.setrasterizerstate(tstaticrasterizerstate<>::getrhi());
rhicmdlist.setdepthstencilstate(tstaticdepthstencilstate::getrhi());
const auto featurelevel = gmaxrhifeaturelevel;
auto shadermap = getglobalshadermap(featurelevel);
tshadermaprefvertexshader(shadermap);
tshadermaprefpixelshader(shadermap);
static fglobalboundshaderstate boundshaderstate;
setglobalboundshaderstate(rhicmdlist, featurelevel, boundshaderstate, renderermodule->getfiltervertexdeclaration().vertexdeclarationrhi, *vertexshader, *pixelshader);
pixelshader->setparameters(rhicmdlist, tstaticsamplerstate::getrhi(), srctexture);
if (windowmirrormode == 1)
else if (windowmirrormode == 2)
}
原理:
此鏈結裡寫得很清楚,就不複述了=.=
so easy 吧~^^
UE4學習 28 VR綠幕
簡介 少年聽雨歌樓上,紅燭昏羅帳 以前想著綠幕怎麼做,老司機用著兩台機器同步做多人vr,一台正常用,另外一台作為第三視角。雖然邏輯清晰,但是這樣對於應用來說,需要建立在多人的基礎上,相對比較麻煩。壯年聽雨客舟中,江闊雲低,斷雁叫西風 而今聽雨僧廬下,鬢已星星也 最近心血來潮,又探索起單機ue4 vr...
關於UE4中VR專案優化小記
1 資訊日誌 提供場景內的各種資訊,window developer tools messagelog 2 輸出日誌 內容更詳細,window developer tools outputlog 3 視口選項 顯示fps 每秒鐘的幀數 顯示資料stat unit 判斷遊戲中影響效能的主要原因存在於g...
在虛幻UE4中不同VR頭盔的FOV和分屏處理
對於vr渲染來說後期處理是乙個很重要的過程,但是由於vr渲染分左右眼,所以很多基於的後處理過程是不能簡單適用,例如在vr中做乙個扭曲,鮮血,或者霧氣等等的特效等等,那麼如何在vr中做分螢幕的後處理並且保證效果正確呢。其實vr裡後處理特效主要就是解決兩個問題 1.影象的畸變 這本質上就是因為vr頭顯渲...