Я запутался в процессе, который необходимо выполнить для сглаживания в DirectX 10. Раньше я вообще этого не делал, так что, возможно, я просто запутался в процедуре в целом.
Вот что я знаю до сих пор (или думаю, что знаю): вам нужно включить мультисэмплинг для вашего объекта RasterizerState, который вы используете в шейдере, и что SampleDesc в описании цепочки обмена (DXGI_SWAP_CHAIN_DESC) должен быть установлен в поддерживаемое значение для Count (и это Качество должно оставаться 0, так как другие значения или аппаратно-ориентированные - хотя я не знаю, для чего). Между вызовами для подготовки к дополнительному рисованию (ClearRenderTargetView и IASetInputLayout) и вызовом Present обратный буфер должен быть подвергнут понижающей дискретизации (через ResolveSubresource) до текстуры равного размера. Затем (это часть, в которой я ничего не могу найти) каким-то образом представить уменьшенную текстуру.
У меня что-то не так по пути? Или я просто ошибаюсь на последнем шаге? Я видел несколько ресурсов, относящихся к выполнению разрешения выборки во время одного последнего рисования для полноэкранного четырехугольника с текстурой шейдера с несколькими выборками (Texture2DMS <>), но я не могу понять, что это повлечет за собой, или почему вы будете делать это поверх вызов устройства, чтобы просто решить это таким образом.
Любая попытка сделать это не приводит к повышению качества изображения.