游戏开发论坛

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

〔求助〕旋转三角形问题

[复制链接]

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2009-7-3 22:55:00 | 显示全部楼层 |阅读模式
旋转三角形一直画 不出来,求高手指点一下
        struct CUSTOMVERTEX
        {
                FLOAT x,y,z;
                DWORD color;
        };

        IDirect3DVertexBuffer9* g_pVB;
        IDirect3DDevice9* g_pDevice;

        g_pDevice = DXUTGetD3D9Device();

        //加载顶点坐标
        CUSTOMVERTEX cvVertex[]=
        {
        { -1.0f, -1.0f,  0.0f, 0xffff0000, },
        {  1.0f, -1.0f., 0.0f, 0xff0000ff, },
        {  0.0f,  1.0f,  0.0f, 0xffffffff, },
        };

        void* pVB;
        if(FAILED(g_pDevice->CreateVertexBuffer(3*sizeof(CUSTOMVERTEX), 0, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVB, 0)))
        {
                return;
        }
        if(FAILED(g_pVB->Lock(0, 3*sizeof(CUSTOMVERTEX), &pVB, 0)))
        {
                return;
        };
        memcpy(pVB, &cvVertex, sizeof(cvVertex));
        g_pVB->Unlock();


        //开始作图
        g_pDevice->Clear(0, 0, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0);
        g_pDevice->BeginScene();

    D3DXMATRIXA16 matWorld;

    UINT iTime = timeGetTime() % 1000;
    FLOAT fAngle = iTime * ( 2.0f * D3DX_PI ) / 1000.0f;
    D3DXMatrixRotationY( &matWorld, fAngle );
    g_pDevice->SetTransform( D3DTS_WORLD, &matWorld );

    D3DXVECTOR3 vEyePt( 0.0f, 5.0f,-10.0f );
    D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
    D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
    D3DXMATRIXA16 matView;
    D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
    g_pDevice->SetTransform( D3DTS_VIEW, &matView );

    D3DXMATRIXA16 matProj;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI / 2.0f, 1.0f, 1.0f, 100.0f );
    g_pDevice->SetTransform( D3DTS_PROJECTION, &matProj );


        g_pDevice->SetStreamSource(0, g_pVB, 0, sizeof(CUSTOMVERTEX));
        g_pDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
        g_pDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
        g_pDevice->EndScene();
        g_pDevice-&gtresent(NULL, NULL, NULL, NULL);

        //清除
        SAFE_RELEASE(g_pVB);

2

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2009-7-4 08:44:00 | 显示全部楼层

Re:〔求助〕旋转三角形问题

我认为你的问题和下面这个帖子的问题一样:

http://bbs.gameres.com/showthread.asp?threadid=130987

39

主题

170

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2009-7-4 17:59:00 | 显示全部楼层

Re: 〔求助〕旋转三角形问题

D3DFVF_CUSTOMVERTEX的内容
是什么?

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2009-7-4 21:25:00 | 显示全部楼层

Re:〔求助〕旋转三角形问题

回答2楼,这个帖子我知道,但是我想让三角形旋转起来,这就需要设置三维坐标,三维坐标也rhw齐次坐标么?
我在二维上画三角形完全没有问题,但是旋转就不行了。如果画二维三角形也不需要做各种变换的

回答3楼:
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)

还请高手不吝赐教
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-19 21:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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