DirectX游戏编程心得之:使用2-D坐标显示2-D图形的注意事项

        最近打算做几款2-D小游戏,当然是用Direct3D来做的,所以就要使用Direct3D提供的2D顶点了。说是2D顶点,其实却有4个分量!而正是因为这种矛盾性,所以使用起来有不少注意事项。这些是我浪费了很多的青春而发现的,希望大家吸取教训啊!

        具体来说,有这么几个方面的注意事项:

 

1、 2-D顶点结构的定义

   

        比如,要定义一个带纹理坐标的2-D顶点结构,那么应该定义如下:

struct Vertex2DTex
{
    Vertex2DTex():pos2D(0.0f, 0.0f, 1.0f, 1.0f), texCoord(0.0f, 0.0f){}
    Vertex2DTex(floatx, float y, float u, float v) :
        pos2D(x,y, 1.0f, 1.0f), texCoord(u, v) {}
    Vertex2DTex(floatx, float y, float z, float rhw, float u, float v) :
        pos2D(x,y, z, rhw), texCoord(u, v){}
    Vertex2DTex(const D3DXVECTOR4& thePos2D, const D3DXVECTOR2& uv) :
        pos2D(thePos2D),texCoord(uv){}
    inline Vertex2DTex& operator=(const Vertex2DTex& rhs)
    {
        if(this != &rhs)
        {
            pos2D= rhs.pos2D;
        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值