006 Métodos
006.6 Gráficos

2.3 11 Pasos

En la Figura 2.6 verá una descripción general de los componentes esenciales en la mayoría de las aplicaciones gráficas de Vulkan. Para complementar esta sección de programación, los componentes se han agrupado en 11 pasos distintos. Desde el paso 1, que inicializa la aplicación y crea la ventana, hasta la etapa final 11, que realiza las actualizaciones y la renderización. Cada paso proporciona un conjunto de material autónomo que se utiliza para dividir un sistema que de otro modo sería complejo. Los pasos le permiten progresar de manera ordenada a medida que aprende la lógica detrás de cada uno de los elementos y cómo encajan entre sí (por ejemplo, cadenas de intercambio y búfer de comandos). Cada paso se basa en los pasos anteriores y le permite crear de manera incremental una aplicación gráfica completa utilizando la API de Vulkan que utiliza todas las funciones (de manera modular). Como se muestra en la Figura 2.7, los 11 pasos lo ayudan a gestionar la transición de luchar con la sintaxis y la mecánica específica de la API a concentrarse en las técnicas y habilidades gráficas.

En resumen, los 11 pasos son:

  1. Inicializar la aplicación y crear una ventana (específica del sistema operativo)

  2. Inicializar Vulkan (instancia de Vulkan)

  3. Inicializar dispositivo (por ejemplo, GPU)

  4. Crear Swap-Chain (administración de la salida de la pantalla)

  5. FrameBuffer y Render-Pass (superficies de imagen de salida)

  6. Buffer de comandos y pool de comandos (esencial para gráficos, ya que todos los comandos de dibujo deben estar en un búfer de comandos)

  7. Datos de vértice (geometría que dibujarás)

  8. Shaders y buffers uniformes (esenciales para que los gráficos tengan un sombreador de vértices y fragmentos además de cualquier parámetro o paso de datos a los sombreadores)

  9. Descriptores (pegamento que mantiene todo unido, como los sombreadores y los datos de los vértices geométricos)

  10. Canalización de gráficos (que conecta todo y habilita funciones)

  11. Render Loop (dibujo/sincronización)