Skip to content

johnklucinec/Graphics-Programming-with-Vulkan

Repository files navigation

⚡ CS 519v - Vulkan Graphics Programming

Welcome to my showcase of projects from Oregon State University's Vulkan Graphics Programming course!

Important

Please refer to individual project directories for complete implementation details and all modified files.

🚀 Project Showcase

Each project folder contains:

  • Descriptions of my approach and implementation
  • Images showcasing the rendered results
  • All files that I added or edited

🌟 Project Gallery

Project Description
Project 1️⃣ Create Your Own 3D Object in Vulkan
Project 2️⃣ Keytime Animation of an OBJ Object with Vulkan and GLM
Project 3️⃣ Drawing Using an Index Buffer
Project 4️⃣ Instancing
Project 5️⃣ Push Constants for Robot Animation
Final Project Vulkan Ray Tracing

🛠️ Technologies Used

  • Vulkan API
  • SPIR-V Shaders
  • VMA (Vulkan Memory Allocator)
  • GLFW (Windowing)
  • GLM (Mathematics Library)
  • NVIDIA Ray Tracing Extensions (VK_KHR_ray_tracing)

🎓 Core Skills & Project Highlights

  • Low-level graphics API programming
  • Vulkan rendering pipeline:
    • Physical and logical device management
    • Graphics pipeline data structures
    • Command buffers and queues
    • Swap chain and presentation
  • Memory management:
    • Data buffers and vertex buffers
    • Descriptor sets and push constants
    • VMA for efficient memory allocation
  • Advanced rendering techniques:
    • Instancing for efficient object rendering
    • Texture mapping and sampling
    • Multisampling and antialiasing
    • Multipass rendering
  • Shader development:
    • SPIR-V shader compilation
    • Vertex, fragment, and compute shaders
    • Specialization constants
  • Synchronization & optimization:
    • Pipeline barriers and memory barriers
    • Dynamic state variables
    • Getting information back from GPU
  • Ray tracing implementation:
    • Acceleration structures (BLAS/TLAS)
    • Ray tracing pipeline
    • Ray generation, closest hit, and miss shaders
    • NVIDIA VK_KHR_ray_tracing extensions
  • Real-time animation:
    • Keytime animation with GLM
    • Dynamic transformations

About

CS 519v - Taught by Mike Bailey - Oregon State University

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors