Unity Shader 学习 Texture Mapping
简介
Texture Mapping是一种在计算机生成的图形或3D 模型上定义高频细节、表面纹理或颜色信息的方法[1].
Unity中的关于纹理贴图的知识点
- 纹理声明 - 1 
 2
 3- sampler2D _MainTex; 
 float4 _MainTex_ST
 // 纹理名_ST 声明的是纹理的缩放和平移,分别存储在 纹理名_ST.xy 和 纹理名_ST.zw
- 纹理缩放和平移的应用 - 1 - o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw; 
- 纹理属性 - Warp Mode - Repeat 重复平铺
- Clamp 截取
 
- Filter Mode - Point
- Bilinear
- Trilinear
 - 滤波效果依次提升,但消耗依次增大。 
- mipmapping(多级渐远纹理) - 预先计算的的图像序列,目的时为了提高渲染速度,代价时需要额外的存储空间,每个纹理的内存增加33%[3]。 
- 纹理长宽需要时二次幂 - 如果使用了非二次幂的纹理(NPOT Texture)[4],可能会占用更多的内存空间,GPU读取速度也会有所下降。 
 
参考
[1] Texture mapping - wikipedia
关于本文
本文作者 Master Gong Sheng, 许可由 CC BY-NC 4.0.