材质的理解

shader:被翻译为着色器。是用来渲染画面的算法代码片断。分为顶点着色器和像素着色器。编写shader,需要用到shader语言,dx是hlsl,gl是glsl, nvida是cg。

顶点着色器(vertex shader):把输入的顶点通过算法计算输出新的像素点。这个算法基本上就是光照模型算法。这个算法就需要顶点里的材质数据和场景里的光照数据,通过材质过滤光照,最后计算出最终颜色。

像素着色器(pixel shader):pixel shader在gl里面也叫fragment shader。fragment之所以不叫pixel,是因为一个像素位置可能有多个像素点,这是因为渲染的时候三角形可能会互相重叠,导致某个位置有多个候选像素,然后一般情况是把最靠近观察者的像素呈现在屏幕上,这一串pixel也叫fragment吧。像素着色器负责对像素颜色进行进一步处理。

材质:每个顶点都包含材质数据,实际上就是过滤光的百分比。光源发出灯光,在材质表面反射,材质决定吸收灯光的什么分量和反射什么分量,而材质本身是不具有颜色的!在现实世界中,我们看到的物体颜色不是属于物体的,而是光与其作用后反射的。

你可能感兴趣的:(材质的理解)