UE4在VR模式下去掉兩側黑邊

2021-07-16 08:25:35 字數 1603 閱讀 1276

正常用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頭顯渲...