У d3d11 можна прив’язати декілька цілей візуалізації ID3D11DeviceContext :: OMSetRenderTargets . Але чому б ти хотів це зробити?
У d3d11 можна прив’язати декілька цілей візуалізації ID3D11DeviceContext :: OMSetRenderTargets . Але чому б ти хотів це зробити?
Відповіді:
Коли кілька цілей візуалізації пов'язані, їх можна записувати окремо піксельним шейдером - це не обов'язково, щоб усі цілі візуалізації отримали однакове зображення. Ви можете записати лише червоний компонент в один висновок, тільки синій в інший та ін.
Це використовується при здійсненні, наприклад, відкладеного візуалізації : інформація про положення, нормальну, кольорову та ін., Записується у власну ціль візуалізації.
Додатковою перевагою використання декількох цілей візуалізації, як у відкладеному візуалізації, як згадував Джош, є те, що ви надсилаєте геометрію сцени до вершинного шейдера лише один раз і застосовуєте її до різних виходів піксельних шейдерів, а не повторно надсилаєте геометрію для кожного виводу потреба. Це економить багато часу на обчислення для GPU. Компроміс для більш швидкої роботи GPU - більший витрата буферної пам'яті кадру.