zoukankan      html  css  js  c++  java
  • 纹理坐标的探讨

    顶点结构声明如下:

    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
    
    	static const DWORD FVF;
    };
    

     顶点信息如下:后两位为纹理坐标

        v[0] = Vertex(-2.0f, -2.0f ,2.0f,0.0f,0.0f,-1.0f,0.0f,1.0f);// ( 0.0f , 1.0f)
        v[1] = Vertex(-2.0f,  2.0f ,2.0f,0.0f,0.0f,-1.0f,0.0f,0.0f);// ( 0.0f , 0.0f)   
        v[2] = Vertex( 2.0f, -2.0f ,2.0f,0.0f,0.0f,-1.0f,1.0f,1.0f);// ( 1.0f , 1.0f)
        v[3] = Vertex( 2.0f,  2.0f ,2.0f,0.0f,0.0f,-1.0f,1.0f,0.0f);// ( 1.0f , 0.0f)

     纹理图如下:

    运行结果如下,即完全显示。

    再将纹理坐标改为

        v[0] = Vertex(-2.0f, -2.0f ,1.8f,0.0f,0.0f,-1.0f,0.0f,2.0f); // (0.0f,2.0f)
        v[1] = Vertex(-2.0f,  2.0f ,1.8f,0.0f,0.0f,-1.0f,0.0f,0.0f); // (0.0f,0.0f)
        v[2] = Vertex( 2.0f, -2.0f ,1.8f,0.0f,0.0f,-1.0f,2.0f,2.0f); // (2.0f,2.0f)
        v[3] = Vertex( 2.0f,  2.0f ,1.8f,0.0f,0.0f,-1.0f,2.0f,0.0f); // (2.0f,0.0f)

        v[0] = Vertex(-2.0f, -2.0f ,1.8f,0.0f,0.0f,-1.0f,0.0f,3.0f); // (0.0f,3.0f)
        v[1] = Vertex(-2.0f,  2.0f ,1.8f,0.0f,0.0f,-1.0f,0.0f,0.0f); // (0.0f,0.0f)
        v[2] = Vertex( 2.0f, -2.0f ,1.8f,0.0f,0.0f,-1.0f,3.0f,3.0f); // (3.0f,3.0f)
        v[3] = Vertex( 2.0f,  2.0f ,1.8f,0.0f,0.0f,-1.0f,3.0f,0.0f); // (3.0f,0.0f)

    运行结果分别为:

    纹理寻址模式为:重复寻址(wrap address mode) 默认这种模式

    Device ->SetSamplerState(0,D3DSAMP_ADDRESSU,D3DPTADDRESSCAPS_WRAP);
    Device ->SetSamplerState(0,D3DSAMP_ADDRESSV,D3DPTADDRESSCAPS_WRAP);

  • 相关阅读:
    EF的连表查询Lambda表达式和linq语句
    C#.NET里面抽象类,接口,虚方法
    ASP.Net WebAPI的返回值
    IHttpActionResult不识别解决办法
    web api 开发之 filter
    SQL语句大全教程
    ASP.NET Web API 跨域访问(CORS)要注意的地方
    铁乐学python_shelve模块详解
    铁乐学python_day25_序列化模块
    铁乐学python_day24_面向对象进阶1_内置方法
  • 原文地址:https://www.cnblogs.com/StudipBird/p/3289031.html
Copyright © 2011-2022 走看看