游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3712|回复: 0

用ID3DXLine::DrawTransform 绘制直线的问题,很奇怪

[复制链接]

14

主题

118

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2010-1-7 15:20:00 | 显示全部楼层 |阅读模式
线段宽度如果设成1.0f 就有问题,设成2.0f就没问题.

下面的代码是分别在X Y Z轴上面画一条直线:

        // 3D空间绘制
        D3DXMATRIX xLine;
        D3DXMatrixIdentity(&xLine); // 线段矩阵
        xLine *= g_xView;
        xLine *= g_xPrj;

        // 设置线段
        g_LineHelper->SetWidth(1.0f);          // 设置线段宽度

        // 绘制X轴
        D3DXVECTOR3 pv3[2];
        pv3[0].x = 0;
        pv3[0].y = 0;
        pv3[0].z = 0;
        pv3[1].x = 5.0f;
        pv3[1].y = 0.0f;
        pv3[1].z = 0.0f;
        g_LineHelper->DrawTransform(pv3, 2, &xLine, D3DCOLOR_XRGB(0, 0, 255));

        // 绘制Y轴
        pv3[0].x = 0;
        pv3[0].y = 0;
        pv3[0].z = 0;
        pv3[1].x = 0.0f;
        pv3[1].y = 5.0f;
        pv3[1].z = 0.0f;
        g_LineHelper->DrawTransform(pv3, 2, &xLine, D3DCOLOR_XRGB(0, 255, 255));

        // 绘制Z轴
        pv3[0].x = 0;
        pv3[0].y = 0;
        pv3[0].z = 0;
        pv3[1].x = 0.0f;
        pv3[1].y = 0.0f;
        pv3[1].z = 5.0f;
        g_LineHelper->DrawTransform(pv3, 2, &xLine, D3DCOLOR_XRGB(255, 0, 255));


其中线段的宽度如果设成1.0f 就是这个样子


但是如果线段的宽度设成2.0f 就正确,为什么呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-16 08:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表