A bunch of programs that connected each other in order to created graphics from vertices. Some of that programs can be programmable -we call those programs as shader-.

Vulkan pipeline

Input assembler

Create geometric primitives – like point, line, triangle – from vertices.

Vertex shader

Define position of vertices -and also can manipulate other vertex data-. Why we need to redefine position of vertex instead of calculate in first place? Because camera is move and every frame position of vertex is change.

Tessellation

Add new geometry – subdivide the surface –

Geometry Shader

Manipulate geometric primitives. Add new ones, recreate different types of primitives etc.

https://www.youtube.com/watch?v=5Ruv2H9lkGA

Rasterization

Create fragments from geometric primitives. It is looks like convert a vector graphic to pixel graphic

Fragment Shader

Define final color of fragments.

Color Blending

After a fragment shader has returned a color, it needs to be combined with the color that is already in the framebuffer. This transformation is known as color blending and there are two ways to do it:

  • Mix the old and new value to produce a final color
  • Combine the old and new value using a bitwise operation

Resources


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *