I started writing DirectX/OpenGL code when I took multiple college classes in computer graphics and game programming (in 2001 or 2002).  In the years since then, I’ve continuously been exposed to DirectX/OpenGL through my GPU modeling job and through hobby projects.

So I have experience writing code for different versions of DirectX/OpenGL APIs and seeing their evolution.  In the time of my experience, there’s been some major API changes such as the move from fixed function pipeline to programmable pipeline (shader programs) (GLSL, HLSL).

Yesterday was another big change – Vulkan 1.0 was officially released.  Vulkan is lower level (like Microsoft DirectX 12 and Apple Metal), but it’s also cross-platform and cross-vendor.  I’m really into my Unreal Engine 4 project for the time being (and probably all of 2016), but I at least did some reading about Vulkan.  Here are a few links I enjoyed reading to get a taste of Vulkan:

Overview:

http://www.tomshardware.com/news/khronos-group-vulkan-1-api,31207.html

http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads

http://www.toptal.com/api-developers/a-brief-overview-of-vulkan-api

https://developer.nvidia.com/transitioning-opengl-vulkan

API reference:

https://www.khronos.org/registry/vulkan/specs/1.0/refguide/Vulkan-1.0-web.pdf

Detailed Overview:

https://renderdoc.org/vulkan-in-30-minutes.html

Samples – Hello World Triangle

https://github.com/SaschaWillems/Vulkan

-> https://github.com/SaschaWillems/Vulkan/blob/master/triangle/triangle.cpp