您的位置:首页 > 移动开发 > Unity3D

<shader> 简介

2017-05-02 19:14 162 查看
什么是shader?

Shader  中文翻译即着色器, 是一种较为短小的程序片段,用于告诉图像硬件如何计算和输出图像,过去是用汇编语言来进行编写,现在可以用高级语言来进行编写,总之用一句话来概括就是:Shader 是可编程图形渲染管线的算法片段。它主要分为两类:Vertex Shader  ( 顶点着色气 ) 和 Fragment Shader(片段着色气)。

什么是图形渲染管线?

图像渲染管线也称渲染流水线,是显示芯片内部图形处理图形信号相对独立的部分,图形渲染管线就像工厂流水线一样,每个阶段处理不同的数据,前一阶段处理好的数据交给下一阶段开始处理,直到产品的制造完成为止。传统的图形硬件流水线处理大量的顶点数据,几何图元和片段。



图形处理的基本流水线





Shader 和材质,贴图,材质 的关系?

Shader(着色器)其实就是一段程序,或者说是一种算法,他让输入的顶点数据以特定的方式以及和输入的贴图和颜色组合起来,然后输出

绘图单元 根据这个输出,将图片输出在屏幕上.材质是Shader对需要的颜色,贴图等需要的参数的打包。Shader 好比加工的方法,贴图相当于原材料之一,材质好比程序最终需要的商品。

Shader 的三大主流编程语言?

 基于OpenGL 的 GLSL 基于 DirectX的 HLSL,还有CG语言。CG语言是基于HLSL 和GLSL之上的语言,现在用法比较广泛,unity3d 也基本上都支持这些语言。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息