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-.
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
Leave a Reply