Skip to content

chrisprijic/vulkan

Repository files navigation

Vulkan

This repo documents my process going through the Vulkan Tutorial website.

I plan to use this to reach a point in:

  • understanding Vulkan and how to use it
  • additional comments and details
  • additional experiments and features I want to try out in Vulkan

Future Goals

I am working on games/game rendering tech, and I want to have a solid understanding of Vulkan before I try to abstract it's features.

Process:

  • setup
  • instance
  • validation and debugging
  • physical devices and queues
  • logical devices and queues
  • window surface and present queue
  • swapchain
  • image views
  • shaders
  • fixed functions
  • render passes
  • finished graphics pipeline
  • framebuffers
  • command buffers
  • rendering and presentation

At this point, we've got a rendered triangle on the screen:

triangle

  • swapchain recreation
  • vertex input
  • vertex buffers
  • staging buffers
  • index buffers
  • descriptor data
  • descriptor management
  • images
  • image view & samplers
  • combined image samplers
  • depth buffering
  • models
  • mipmaps
  • multisampling

Now we have mip-maps, meshes, and multisampling support:

mesh_msaa_mipped

Future Topics:

  • push constants
  • instanced rendering
  • dynamic uniforms
  • pipeline cache
  • allocator
  • multi-resource (texture, mesh, etc.)
  • multi-threaded
  • multiple subpasses
  • compute shaders
  • utils library (aggregate vkObjects into classes)
  • renderer (abstract vulkan from renderer interface)

About

exploration of vulkan

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages