关于纹理坐标

来源:互联网 发布:sleep函数 linux 编辑:程序博客网 时间:2024/06/07 14:32

  自己理解的...不对的话望各位不吝赐教.
  将纹理贴图贴到模型里,更新顶点结构

   struct Vertex
{
 Vertex(){}
 Vertex(
  float x, float y, float z,
  float nx, float ny, float nz,
  float u, float v)
 {
  _x  = x;  _y  = y;  _z  = z;
  _nx = nx; _ny = ny; _nz = nz;
  _u  = u;  _v  = v;
 }
    float _x, _y, _z;
    float _nx, _ny, _nz;
    float _u, _v; // texture coordinates
};
#define FVF_VERTEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1)

纹理坐标实际上就是贴图的二维坐标,与显示模式一样,分u和v轴,u轴水平向右,v轴垂直向下..一般区间为[0,1]..为什么说是一般呢..因为涉及到纹理的寻址方面..在此先不多讲..
  一个纹理贴图的坐标在你将纹理贴图读入内存时就已经确定..左上(0,0),右下(1,1).....要想改变贴图的方式或者位置,可利用纹理坐标来实现,将纹理坐标的四个点分别赋予不同的顶点..即可改变..