Aprendiendo Vulkan desde cero — parte 2
En la parte 1 logré abrir una ventana e inicializar un dispositivo. Esta vez la meta era más pequeña y más terca: poner un solo triángulo en pantalla, entendiendo de verdad cada paso que lo pone ahí en vez de copiar un tutorial.
Vulkan no te esconde nada, y por eso enseña tanto — y por eso me tomó una tarde entera discutir con las validation layers antes de que algo se dibujara.
El problema con los validation layers
El primer error fue silencioso: un swapchain creado con un número de imágenes que no correspondía a las capacidades de la superficie que había consultado. Las validation layers lo detectaron de inmediato, pero leer bien el mensaje tomó más tiempo que arreglarlo.
VkSwapchainCreateInfoKHR createInfo{};
createInfo.minImageCount = imageCount;
createInfo.imageFormat = surfaceFormat.format;
createInfo.imageExtent = extent;
createInfo.imageArrayLayers = 1;
“Vulkan hace explícito el contrato de la GPU contigo — lo que significa que tus errores también son explícitos.”
Lo que sigue
- Conectar un vertex buffer real en vez de posiciones fijas
- Agregar una cámara básica y una matriz de proyección
- Escribir la parte 3 cuando algo realmente se mueva en pantalla