前言
Shader的介绍有很多,在这里,将从以下几个方面来介绍:
- 什么是Shader
- Shader的主要作用
- Shader的种类
- Shader的结构
什么是Shader
Shader的意思是着色器,是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行,语法类似C语言,有自己的编译器。编译,链接后,由CPU送入GPU中执行。Shader的执行入口也是从main()函数开始执行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出
Shader的主要作用
Shader的主要作用就是能让开发人员更好的发挥出自己的创作能力去实现想要的效果。每一步的渲染管道都可以自定义。
Shader的种类
以OpenGL来说:目前已经支持5种不同类型的shader
- Vertex Shader,顶点Shader,简称VS
- TESS Control Shader(D3D11 叫Full shader),简称TCS
- TESS Evaluation Shader(D3D叫Domain shader),简称TES
- Geometry Shader,简称GS
- Fragment Shader(D3D叫Pixel Shader),简称PS
根据输入,输出和功能做一下简单的对比如下:
名称 | 输入 | 输出 | 功能 |
---|