纹理的秘密
纹理三大问
是什么?为什么?怎么样?
纹理是一张图片,他是一片存储数据的结构。
以常见的二维纹理来将,他是以宽高和RGBA值构成的三维数组。
Image[Height][Weight][4],T[512][512][4]
纹理出现原因,是为了牺牲几何细节来提升建模工作量和存储空间以及提升读取速度。
纹理管线
模型空间位置–投影函数–纹理映射–纹理坐标–通讯函数–新纹理坐标–纹理采样–纹理值
通讯函数可以对uv进行偏移和变形来产生特效。一般来讲uv处理放到顶点着色器中进行计算,如果放到fragment中会影响效率。
具体例子
纹理采样的一些设置
warp mode,OPENGL中称作包装模式,DirectX中叫做纹理寻址模式。他决定了纹理不在[0,1]中怎么处理。
Filter Mode他是对纹理过小时对纹理进行的处理。他是一种算子过滤技术,常用的处理技术。
最邻近,双线性插值,立方卷积。
最邻近是只取最近的一个纹素。双线性插值