zoukankan      html  css  js  c++  java
  • d3d两点

    最近开始看d3d龙皮了,有些东西不理解,查了下记录下来

    1.d3d默认左手坐标系,大拇指向右x正方向,食指向上y正方向,其他手指向屏幕内,z正方向。

    而右手就是在保持x,y一致时,z正方形为屏幕外而已。

    2.D3DXMatrixLookAtLH()

    这个函数有4个参数,第一个是用来存储最后向量计算结果的矩阵指针D3DXMATRIX*,

    后面3个都是D3DXVECTOR3*类型,

    第一个向量是位置,即摄相机或者说是眼睛的位置,可以想象一下,想在3d空间里,想看东西,人首先得站在某个位置。

    第二个向量是眼睛看的方向,或者是目标点, 视野或者说摄像机能看到或拍摄的范围有限,必须对准某个方向。这个向量就是

    第三个向量是表示世界坐标系的向上的方向,一般设为(0,1,0);

    3.D3DXMatrixRorationX/Y 

    设置绕X/Y轴旋转的角度,注意这里不是累加的,每次设置都是从0开始,同时解释说角度是沿着旋转轴向其原点看时,顺时针的角度,

    这么看过来,就是从X/Y的正半轴向原点看才是顺时针。

    最后调用生成两个D3DXMatrix rx,ry 

    D3DXMATRIX p = Rx * Ry;

    Device->SetTransform(D3DTS_WORLD, &p);

    即可旋转

     4 FVF灵活顶点格式

    要是注意点,就会好奇,为什么随着struct Vertex这个结构体里的成员不断变化,D3D依旧可以正确运行。我是在自己修改时发现问题,帖纹理一直不对。

    后来查了下,FVF这种格式,通过给与不同的宏D3DFVF_XYZ,D3DFVF_NORMAL等,且不同的宏规定了数据类型和数量,且要保证顺序,这样才能让D3D正确绘出。

  • 相关阅读:
    接口的基本语法
    包和访问权限(三)
    包和访问权限(二)
    包和访问权限(一)
    为什么用抽象类
    html5,单击显示详细信息
    html5,格式的验证
    html5,加密元素
    html5,新增的元素,fieldset legend
    html5,进度条
  • 原文地址:https://www.cnblogs.com/cavehubiao/p/3411193.html
Copyright © 2011-2022 走看看