读书人

请问使用D3DPT_LINESTRIP渲染的线框有

发布时间: 2012-02-06 15:52:44 作者: rapoo

请教使用D3DPT_LINESTRIP渲染的线框问题。。。
1:我发现如果使用D3DPT_LINESTRIP来渲染线框,则渲染的图形将会多一个宽度的像素。

C/C++ code
    DWORD color = D3DCOLOR_ARGB(100, 0, 0, 0);    float x = 20, y = 20;    float width = 200, height = 300;    stD3DVertex objData[] =    {            {        float(x),        float(y), 0, 1, color},            { float(width+x),        float(y), 0, 1, color},            { float(width+x),float(height+y), 0, 1, color},            {        float(x),float(height+y), 0, 1, color},            {        float(x),        float(y), 0, 1, color},    };

这个顶点坐标应该是没问题的,因为我用过他以其他的顶点格式渲染,宽高像素都与width和height一致。

就是使用这个D3DPT_LINESTRIP有问题,我用PS比对过,结果宽是201,高是300,何故??
(我是在我的UI系统里面遇到的这个问题,结果建个测试项目单独测试一看,结果还是这样)

2:一般渲染线框是用D3DPT_LINESTRIP顶点格式么??不用加g_D3DDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
这句了吧??

[解决办法]
D3DPT_LINESTRIP是讲多个点用线连接
楼主可以试试其他的格式

读书人网 >网络游戏

热点推荐