图形实时渲染管线

(Graphics Real-time Rendering Pipeline)

图形管线

Untitled

fragments (片元)

这个流程都在硬件层面实现了,显卡和 GPU 都做好了。但是同时这个流程也是可编程的。

比如 OpenGL 就是可以用来写 Shader 的,有分为 Vertex / Fragment (i.e. Pixel-level) 等不同级别的着色器。

管线编程

Untitled

比如上面是渲染漫反射的方法。

norm: 法线,lightDir: 光源方向

着色器

有 Geometry Shader 动态产生三角形等等。 Compute Shader 还可以实现渲染以外的通用计算。比如 DirectX 12 等等。

shadertoy.com :你尽管写着色器,我让你在网页上可以实时渲染。

Untitled

现代图形学应用

Unreal 支持经典算法的实现:阴影、实时全局光照、预计算等等。让用户不用特别关注图形背后的算法。

GPU 的发展(图形管线的硬件实现)

GPU (Graphics Process Unit) 的发展,显卡可以处理 100’s of thousands to millions of triangles in a scene

Untitled

独立 GPU、集成 GPU。

GPU:高度并行化。核心数量可以理解成可以并行的线程的数量。