我試圖將紋理連接/添加到更大的紋理,但我無法保持較大紋理的結果。統一着色器連接紋理
我有一個着色器,它需要一些變量,比如較大紋理中較小的紋理的位置,較小的紋理本身以及較大的紋理。
基本上,我的着色器工作正常(我認爲),在結果中我看到較大的紋理在正確的位置。但是我的更大的紋理永遠不會被保存,因此所有的先例pass都會被忽略。
如何保存結果以將其重新發送到着色器以將所有小紋理連接到它中?
我試試這個:Graphics.Blit(_RTConcat, _RTConcat, _concat);
RTConcat
是我更大的紋理,這是一個RenderTexture
,我試圖在編輯器或腳本來創建它既但結果是相同的,_concat
是使用着色材料。
PS:我使用統一4.5.3,不能升級,這是一個專業版。
編輯/更新:
我「成功」來,看起來像我想要做什麼東西,但我不明白爲什麼它的工作。
在我的主腳本我初始化一個產生渲染紋理,將其設置到其應用在一個平面
_radarVision = new RenderTexture(_radarTextureWidth, _renderHeight, 24); _renderHeight, 24); _radarScreen.SetTexture("_MainTex", _radarVision);
_radarVision
和_radarScreen
都從來沒有在我的腳本重新編輯的墊子。現在
的Graphics.Blit
是在一個新的腳本附加相機上創建僅運行一個腳本:
'無效OnRenderImage(渲染紋理源,渲染紋理目的地) {
Graphics.Blit(save, save, _concat);
rttmp = RenderTexture.GetTemporary(camera.targetTexture.width, camera.targetTexture.height);
save = rttmp;
camera.targetTexture = save;
RenderTexture.ReleaseTemporary(rttmp);
}`
沒有什麼其他,它使我的東西工作,但我仍然困惑,因爲它不應該工作...不是?