Skip to content

eMKa007/Vulkan_Examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulkan Examples

Vulkan API learning repository.

Within this repository aditional libaries are used:

  • GLFW - window and input handling.
  • GLM - C++ mathematics library for graphics software.
  • tinyobjectloader - Loading models from *.obj files.
  • stb image - Loading images to be used as textures.

Vulkan_Tutorial

Project which follows "Vulkan Tutorial" by Alexander Overvoorde available on vulkan-tutorial website and github repository.

Main topics covered in tutorial:

  • Instance and physical device selection
  • Validation Layers
  • Logical device and queue families
  • Swap chains
  • Shader Modules
  • Fixed functions and render passes
  • Descriptor pool and sets
  • Command buffers
  • Image view and sampler
  • Depth buffering

ShadowMapping

Calculating shadows based on 'Vulkan_Tutorial' project and Mr. Sascha Willems "Vulkan-Example" repository available here.

Shadow creation is divided into two render passes:

  • First one- 'offscreen' render pass is used to calculate depth map from light's point of view (ortographic projection to simulate sunlight). Calculated depth map is stored into texture and used in second render pass.
  • Second one- 'scene' render pass uses depth texture to determine if specified fragment is placed within or not in shadow.

Logic of shadow mapping technique is well described in learningopengl.com website and opengl-tutorial.org

Camera movement:

  • W/A/S/D keys to move camera forward/left/backward/right.
  • Mouse to rotate camera around.

Prepared build: Visual Studio [Debug|Release] x86

About

Vulkan API learning repository.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published