为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个顶点各自对应纹理的哪个部分。这样每个顶点就会关联着一个纹理坐标(Texture Coordinate),用来标明该从纹理图像的哪个部分采样(采样:采集片段颜色)。之后在图形的其它片段上进行片段插值(Fragment Interpolation)。
image.png
2D纹理坐标在x和y轴上,范围为0到1之间。使用纹理坐标获取纹理颜色叫做采样(Sampling)。纹理坐标起始于(0, 0),也就是纹理图片的左下角,终始于(1, 1),即纹理图片的右上角。纹理默认左下角为(0,0),如下图
当然纹理不必和物体图形一对一(就是左上角对左上角,右上角对右上角),纹理可以旋转,或者绕某个轴翻转(不能让纹理图片交叉
),对应到每个顶点,🌰看下图 这张纹理怎么旋转都可以,没有方向性可言 image.png 下面这张纹理就不一样了,让纹理正常状态,有方向性 image.png
tips: 绘制物体,加载纹理并且有光照效果时,通过顶点获得法线,顶点的顺序要顺时针放进去,否则可能会导致纹理贴在了物体的内面。
网友评论