En d3d11, puede enlazar múltiples objetivos de representación ID3D11DeviceContext :: OMSetRenderTargets . ¿Pero por qué querrías hacer esto?
En d3d11, puede enlazar múltiples objetivos de representación ID3D11DeviceContext :: OMSetRenderTargets . ¿Pero por qué querrías hacer esto?
Respuestas:
Cuando se vinculan múltiples objetivos de representación, el sombreador de píxeles puede escribir individualmente en cada uno de ellos; no es (necesariamente) el caso de que todos los objetivos de representación obtengan la misma imagen. Puede escribir solo el componente rojo en una salida, solo el azul en otra, etc.
Esto se usa cuando se implementa el renderizado diferido, por ejemplo: la información de posición, normal, color, etc. se escribe en su propio destino de renderizado.
El beneficio adicional de usar múltiples objetivos de representación, como en la representación diferida como mencionó Josh, es que envía la geometría de la escena al sombreador de vértices solo una vez y la aplica a diferentes salidas de sombreador de píxeles, en lugar de volver a enviar la geometría para cada salida que necesitar. Esto ahorra mucho tiempo de cálculo para la GPU. La compensación para un rendimiento de GPU más rápido es un mayor consumo de memoria de búfer de trama.