Я предполагаю, что ваш формат текстуры / вида R32_UINT.
Если вы сделаете:
uint value = texture.Load(pixelLocation);
, он вернет вам uint (точно такое же значение)
Если вы сделаете:
float value = texture.Load(pixelLocation);
Itвыполнит приведение (потенциальная проблема точности)
Если вы попытаетесь выполнить сэмплирование, оно выполнит другое, так как выборка в формате uint обычно не разрешена (может перейти от неверного значения к сбою драйвера).
Случай 1 (уменьшенный диапазон): недоступно с R32, только с R16 или R8, в этом случае вам нужно использовать DXGI_FORMAT_R16_UNORM вместо UINT для вида шейдера (или формата текстуры).Пример конечно работает в этом случае.