¿Qué es Vulkan?

vulkan es una interfaz de programación de aplicaciones (API).

Vulkan es una API (Interfaz de programación de aplicaciones) para gráficos y hardware informático. Esta API consta de muchos comandos que permiten a los programadores especificar programas de sombreado, núcleos computacionales, objetos y operaciones para producir imágenes de alta calidad, especialmente imágenes en color de objetos tridimensionales.

Para los programadores, Vulkan es un conjunto de comandos que permiten a los kernels o sombreadores, y a los sombreadores realizar el control externo del aspecto de Vulkan, utilizando programas de sombreado o sombreadores y datos. Los datos se refieren a objetos geométricos bidimensionales o tridimensionales e imágenes de textura. Los sombreadores y núcleos controlan el procesamiento de datos, la rasterización de objetos geométricos, los fragmentos de iluminación y sombras generados por la rasterización y, finalmente, la representación de objetos geométricos en el marco. buffer.

Un programa típico de Vulkan comienza llamando a una función del sistema para abrir una ventana o preparar el programa para dibujar un dispositivo de visualización. Luego, llame al comando para abrir la cola y envíele el búfer de comando. El búfer de comandos contiene una serie de comandos que serán ejecutados por el hardware subyacente.

Las aplicaciones pueden asignar memoria del dispositivo, asociar memoria y recursos, y hacer referencia a estos recursos desde el búfer de comandos. Los comandos de dibujo llaman a la rutina de sombreado de la aplicación, que luego utiliza los datos del recurso y produce la imagen. Para mostrar la imagen del resultado, algunos comandos específicos de la plataforma deben transferir la imagen del resultado a un dispositivo de visualización o ventana.

Para los implementadores, Vulkan es una colección de comandos que permite construir un búfer de comandos y enviarlo al dispositivo. Los dispositivos modernos aceleran casi todas las operaciones de Vulkan, almacenan datos y framebuffers en memoria de alta velocidad y ejecutan sombreadores en GPU dedicadas.

La tarea del implementador es proporcionar una biblioteca de software en el lado del host que implemente la API de Vulkan y asigne adecuadamente cada comando de Vulkan al hardware de gráficos para aprovechar las capacidades del dispositivo físico. Piense en Vulkan como una tubería con etapas programables que se pueden llamar mediante operaciones de extracción y etapas fijas impulsadas por el estado.