游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1744|回复: 5

太丢脸了,居然忘记 DX 怎么绘制三角形了

[复制链接]

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-11-25 11:13:00 | 显示全部楼层 |阅读模式
有一段时间没有弄 DX 了,现在居然忘记怎么绘制三角形了,下面是俺绘制的代码,各位有空顺便帮俺看看,那里出了问题。哪位有 D9 下绘制三角形的代码(没有用VS)能否给在下一份,俺看看到底出什么问题了。先谢谢各位了。

这是顶点格式,
struct SVertex
{
FLOAT x, y, z;

static DWORD FVF;
};

DWORD SVertex::FVF = D3DFVF_XYZ;





这是创建顶点的代码
g_pDirect3DDevice->CreateVertexBuffer(        3 * sizeof (SVertex),
                                        0,
                                        SVertex::FVF,
                                        D3DPOOL_DEFAULT,
                                        &g_pVertex,
                                        NULL);

SVertex* pData = NULL;

g_pVertex->Lock(0, 3 * sizeof (SVertex), (void**)&pData, 0);
pData->x = 0.0f;
pData->y = 100.0f;
pData->z = 0.0f;
pData++;
pData->x = 150.0f;
pData->y = -250.0f;
pData->z = 0.0f;
pData++;
pData->x = -150.0f;
pData->y = -250.0f;
pData->z = 0.0f;
g_pVertex->Unlock();


这是渲染的代码
g_pDirect3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 128), 1.0f, 0);
g_pDirect3DDevice->BeginScene();


g_pDirect3DDevice->SetStreamSource(0, g_pVertex, 0, 3 * sizeof (SVertex));
g_pDirect3DDevice->SetFVF(SVertex::FVF);
g_pDirect3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);

g_pDirect3DDevice->EndScene();
g_pDirect3DDevice-&gtresent(NULL, NULL, hWnd, NULL);
[em4] [em4] [em4] [em4] [em4]

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2005-11-25 11:27:00 | 显示全部楼层

Re:太丢脸了,居然忘记 DX 怎么绘制三角形了

D3DPT_TRIANGLELIST  索引呢?

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-11-25 12:05:00 | 显示全部楼层

Re:太丢脸了,居然忘记 DX 怎么绘制三角形了

俺没有创建索引,我记得用 DrawPrimitive 不要用到索引吧?-_-!

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-11-25 14:21:00 | 显示全部楼层

Re:太丢脸了,居然忘记 DX 怎么绘制三角形了

呵呵,找到问题了,把
g_pDirect3DDevice->SetStreamSource(0, g_pVertex, 0, 3 * sizeof (SVertex));
改成
g_pDirect3DDevice->SetStreamSource(0, g_pVertex, 0, sizeof (SVertex));
就好。还是对 DX 不熟练阿,不然也不会犯这种错误

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2005-11-25 17:53:00 | 显示全部楼层

Re:太丢脸了,居然忘记 DX 怎么绘制三角形了

晕啊........

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2005-11-27 14:42:00 | 显示全部楼层

Re:太丢脸了,居然忘记 DX 怎么绘制三角形了

struct SVertex
{
FLOAT x, y, z;

static DWORD FVF;
};

diffuse颜色搞哪去了?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 18:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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