游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2033|回复: 3

D3D画图中的DrawPrimitive问题

[复制链接]

8

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2005-7-25 10:57:00 | 显示全部楼层 |阅读模式
各位大哥好,我是初学者。
我遇到一个问题,我最开始是画一个实心的三角形,
顶点结构:
CUSTOMVERTEX g_Vertices[] =
{
{320.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 255, 0, 0), },
{250.0f, 400.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 255, 0), },
{50.0f, 400.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 255), },
};
建立缓冲:
hr = pd3dDevice->CreateVertexBuffer(
3*sizeof(CUSTOMVERTEX),
0,
D3DFVF_XYZRHW|D3DFVF_DIFFUSE,
D3DPOOL_DEFAULT,
&g_pVB,
NULL );
画:
                pd3dDevice->BeginScene();

        // Draw the contents of the vertex buffer
        // Set the data stream first
        pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );

        // Set the Vertex format for the stream next
        pd3dDevice->SetFVF( D3DFVF_XYZRHW | D3DFVF_DIFFUSE );

        // Draw the vertices within the buffer using triangle strips
        pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );

        // Tell Direct3D that drawing is complete
        pd3dDevice->EndScene();
第一次,我用这个程序画了一个填充了颜色的三角形,为了测试DrawPrimitive的第一个参数,我将其改成了其他的值,但了一会儿后发现,当我再次恢复为以上值是,画出来的并不是填充了的三角形,请问是什么原因呢?
我感觉是DrawPrimitive的问题,或者是不是我没有释放某些指针,导致显存保留了以前的内容。或者是。。。。???

8

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2005-7-25 11:09:00 | 显示全部楼层

Re:D3D画图中的DrawPrimitive问题

我知道哪儿错了,我另存为以后,编辑的文件不是工程里面的文件。
我真是太笨了。

2

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
QQ
发表于 2006-2-14 23:18:00 | 显示全部楼层

Re:D3D画图中的DrawPrimitive问题

。。。。。。。。。。。

10

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-2-15 00:36:00 | 显示全部楼层

Re:D3D画图中的DrawPrimitive问题

确实比较无语,貌似以前犯过类似错误。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 10:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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