Hy!HLSL ComputeShader Образец от текстуры ведет себя странно
У меня есть Compute Shader:
[numthreads(128, 1, 1)]
void csAdvect(uint2 dtid : SV_DispatchThreadID)
{
uint4 dtl = uint4(dtid, 0, 0);
float2 inverseSize = float2(1.0f/gridSize.x, 1.0f/gridSize.y);
float2 coord = float2(dtid.x*inverseSize.x, dtid.y*inverseSize.y);
float statict = statictemp.Load(dtl).x;
if (statict < 0)statict = 0;
float t = temperature.SampleLevel(zeroBoundarySampler, coord, 0).x;
outputTemperature[dtid] = statict + t;
}
Это считанный из статической ячейки текстуры, образец других и записать его в выходной текстуру. Голый образец. Текстуры и gridSize - 512x512, я называю это Dispatch (4, 512, 1), и каждый шаг рендеринга меняет температуру и выводит текстуры температуры.
Я думал, что он будет делать что-то вроде кругового роста из статических точек, но вместо этого растет только прямо вниз. Черноватая/красноватая вещь в верхнем левом углу - это статическое «тепло», тем менее красная вещь - температура от шейдера.
Любая идея, что я делаю неправильно?