首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Direct3D9不画画吗?

Direct3D9不画画吗?
EN

Stack Overflow用户
提问于 2020-05-16 04:06:39
回答 1查看 136关注 0票数 0

我需要画一些简单的形状,我决定使用D3D9。在阅读了一些关于directxtutorial.com的教程之后,我终于拥有了使我的第一个形状出现在屏幕上所需的所有代码和知识。但问题是,没有出现任何图像。我查看了很多次代码,并将其与网站上的代码进行了比较,并进行了验证。为什么屏幕上没有渲染?

代码语言:javascript
复制
    #define CUSTOMFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)

    LPDIRECT3D9 d3d;
    LPDIRECT3DDEVICE9 d3ddev;

    LPDIRECT3DVERTEXBUFFER9 vbuffer;

    struct CUSTOMVERTEX
    {
        float x, y, z, rhw;
        DWORD color;
    };

    void InitD3D(HWND hWnd)
    {
        d3d = Direct3DCreate9(D3D_SDK_VERSION);

        D3DPRESENT_PARAMETERS d3dpp;
        ZeroMemory(&d3dpp, sizeof(d3dpp));

        d3dpp.Windowed = true;
        d3dpp.hDeviceWindow = hWnd;
        d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;

        d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev);
    }

void InitGraphics()
{
    CUSTOMVERTEX verticies[]
    {
        {50, 70, 1.0f, 1.0f, D3DCOLOR_XRGB(250, 0, 0),},
        {70, 50, 1.0f, 1.0f, D3DCOLOR_XRGB(0, 250, 0),},
        {40, 80, 1.0f, 1.0f, D3DCOLOR_XRGB(0, 0, 250),},
    };

    d3ddev->CreateVertexBuffer(3 * sizeof(CUSTOMVERTEX), NULL, CUSTOMFVF, D3DPOOL_MANAGED, &vbuffer, NULL);

    void* vp;

    vbuffer->Lock(0, 0, (void**)&vp, NULL);

    memcpy(vp, verticies, sizeof(verticies));

    vbuffer->Unlock();
}

void Draw()
{
    d3ddev->Clear(NULL, NULL, D3DCLEAR_TARGET, NULL, 1.0f, NULL);

    d3ddev->BeginScene();

    d3ddev->SetFVF(CUSTOMFVF);
    d3ddev->SetStreamSource(0, vbuffer, 0, sizeof(CUSTOMVERTEX));
    d3ddev->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);

    d3ddev->EndScene();
    d3ddev->Present(NULL, NULL, NULL, NULL);
}

void ReleaseD3D()
{
    d3d->Release();
    d3ddev->Release();
    vbuffer->Release();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-17 14:52:53

原来我的顶点位置不足以构成三角形。谢谢你的帮助,但它提醒我要设置错误检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61831774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档