2016-07-07 66 views
0

我想重新使用HLSL和UV渲染通道在一系列圖像上重新紋理圖像,但生成的圖像有一些僞像(總體像素化圖像,圖像中的混疊僞像)。HLSL重新紋理

背景和UV通可以在相冊here

找到生成的圖像:

我猜測,這個問題是與MIP水平,而我無論如何都必須計算它們對於每一幀,我的問題只是一個人會怎麼做,可以在pixelshader中完成嗎?

下面是我在做什麼的簡要介紹:

float4 UVPass = UVSRV.Sample(SamplerWrap, input.Tex); 
float4 Background = backgroundSRV.Sample(SamplerWrap, input.Tex); 
float4 Composit = compositImageSRV.Sample(SamplerWrap, saturate(UVPass)); 

然後使用UVPass的阿爾法作爲掩模,我決定我是否應該返回組合大或背景。

我的採樣器使用D3D11_FILTER_MIN_MAG_MIP_LINEAR。

+0

你的意思是什麼文物?爲什麼不使用標準的alpha混合而不是選擇任何一個圖層? –

+0

與源圖像相比,合成圖像嚴重像素化和混疊。顯然,當某種形式的alpha混合被用來消除它們時,邊緣看起來會更好,但我關注的問題是可以在例如遮陽帽和鬍子上看到的混疊。 – Konglobemeralt

+0

您可以驗證紋理是否以正確的大小上傳,並且創建了mipmap嗎?如果以傳統方式渲染圖像會發生什麼? –

回答

0

解決了它。問題不是由代碼引起的,而是由Maya對UV通道進行色調映射來產生僞像。代碼本身起作用。