• 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正确绘出。

  • 相关阅读:
    基于API函数的串口通信编程——理解(转)
    如何设置超时参数(串行通讯)
    注册热键——RegisterHotKey
    如何制作OEM包 (转帖)
    CreateThread函数创建线程
    WinCe6.0 播放语音问题
    C语言编写图形程序// http://lcrystal.spaces.live.com/blog/cns!13dfc6235bbfb72c!128.entry
    关于串口编程的读书笔记
    c++中内存管理
    MFC读取TXT文件,写入编辑框
  • 原文地址:https://www.cnblogs.com/cavehubiao/p/3411193.html
Copyright © 2020-2023  润新知