javiglesias / VulkanLearing

Learn Vulkan API and Rendering concepts.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VulkanLearing

Learn Vulkan API and Rendering concepts. Este es un repo personal en el que voy aprendiendo como hacer un motor de videojuegos con un backend en Vulkan, de momento. Mas adelante me gustaria meter otro backend de Directx12 (No se si meter otro de OGL).

imagen

Linux Enviro config

  • sudo apt install make
  • sudo apt install g++
  • sudo apt install vulkan-tools
  • sudo apt install libvulkan-dev
  • sudo apt install vulkan-validationlayers-dev spirv-tools
  • sudo apt install libglfw3-dev
  • sudo apt install libglm-dev -sudo apt-get install libassimp-dev

TO-DOs

  • Render de primitivas simples para DEBUG en otra pipeline
  • blinn-phong
  • Multiple Lights
  • Hot-Reload de Shaders en tiempo de ejecucion.
  • Uber Shaders
  • Render 2D (quads, etc)
  • Cubemap (HDR)
  • Dithering
  • Render Fuentes
  • Compilacion de Shaders en runtime (ahora mismo se hacen en post-compilacion con glslc.exe)
  • ordenar modelos segun material a la hora de pintar
  • ordenar modelos segun posicion respecto a la camara
  • Point lights
  • mega-texturas
  • forward+deferred
  • Transparencias(alpha blending)
  • TXAA/FXAA
  • SSAO
  • SSR
  • PBR
  • Terrain
  • Raytracing

3rd Party libraries

  • assimp
  • glad
  • glfw
  • glm
  • imgui
  • stb_image

Futuras bibliotecas

About

Learn Vulkan API and Rendering concepts.


Languages

Language:C++ 94.6%Language:GLSL 2.8%Language:C 1.6%Language:Makefile 0.8%Language:Batchfile 0.3%