¿Qué es un objetivo de renderizado?

En la programación de gráficos por computadora, un objetivo de renderizado es un área de la memoria de la computadora en la que se dibuja el siguiente cuadro que se mostrará. Usado con mayor frecuencia para aumentar la velocidad de renderizado, el objetivo de renderizado generalmente se encuentra en un área de memoria dedicada en la tarjeta gráfica cerca de la unidad de procesamiento de gráficos (GPU). Aunque el concepto es casi el mismo, existen algunas diferencias menores en la implementación y las convenciones de nomenclatura relacionadas con un destino de renderizado; estos dependen del lenguaje de programación o biblioteca que se esté utilizando, y algunos lenguajes lo llaman un búfer trasero, un objeto framebuffer o un búfer doble. También es posible, especialmente en gráficos de computadora tridimensionales (3D), usar el destino de renderizado para dibujar texturas en objetos para ayudar a optimizar la imagen de visualización final cuando se compila. En algunos casos, es posible tener varios objetivos de renderizado (MRT), con diferentes partes de un marco que se dibujan en diferentes superficies y luego se componen en el objetivo final.

La idea de un destino de renderizado es similar al proceso utilizado con el doble búfer. Básicamente, una imagen se dibuja en una superficie fuera de la pantalla, que en realidad es un área de memoria, de modo que cuando llega el momento de dibujar el siguiente cuadro en un dispositivo de visualización o pantalla, se puede hacer lo más rápido posible porque todos de las funciones de dibujo ya se han realizado. La diferencia con un objetivo de renderizado en muchas implementaciones es que el área de memoria utilizada puede estar en la tarjeta gráfica y administrarse a través del hardware u otros aspectos de la GPU, lo que lo hace mucho más eficiente y rápido que un diseño de doble búfer administrado por software.

En el caso de la programación de gráficos por ordenador en 3D, se puede utilizar un destino de renderizado para optimizar la renderización de objetos que utilizan imágenes para sus texturas superficiales. El contexto de renderizado está dentro del hardware de gráficos, por lo que esto puede permitir una rasterización muy rápida de objetos 3D. Los efectos especiales también se pueden dibujar de esta manera, lo que hace que el ensamblaje de la escena final en un búfer posterior sea muy rápido porque la mayor parte de la información gráfica se mueve solo una corta distancia en la tarjeta gráfica.

El hardware de gráficos, los controladores y las bibliotecas que se utilizan pueden marcar una diferencia en el funcionamiento de un destino de renderizado. Una restricción específica es el uso de MRT, en el que la tarjeta gráfica determina cuántos objetivos se pueden usar simultáneamente. Algunas tarjetas tampoco tienen ningún soporte de hardware para los objetivos de renderizado, aunque normalmente se puede lograr una funcionalidad similar a través de medios alternativos.