HLSL重新纹理化

时间:2016-07-07 09:53:03

标签: c++ directx hlsl

我正在尝试使用HLSL和UV渲染通道在一系列图像上重新构建图像,但是生成的图像有许多伪影(整体像素化图像,图像中的锯齿伪像)。

背景和UV-pass可在专辑here

中找到

结果图片:

我猜这个问题与MIP级别有关,而且我不得不为每一帧计算它们,我的问题就是如何做到这一点,这可以在pixelhader中完成吗?

以下是我正在做的事情的简要说明:

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

然后使用UVPass的alpha作为掩码,我决定是否应该返回Composit或Background。

我的采样器使用D3D11_FILTER_MIN_MAG_MIP_LINEAR。

1 个答案:

答案 0 :(得分:0)

解决了它。问题不是由代码引起的,而是由Maya音调映射UV传递导致工件。代码本身有效。