DirectX 基元渲染在错误的位置

DirectX primitive rendering at the wrong position

所以我正在重新编码我的渲染引擎,从基础开始。我 运行 是一个很奇怪的问题。我只是简单地渲染了一个三角形,但是位置都错了

这是我得到的(无法 post 图片,因为我还没有足够的代表): Incorrect Result

这显然不是我想要做的。

这是我正在定义的顶点,我的顶点结构是什么样子的,以及我的 FVF 是什么样子的:

CDirect3DHelper::VERTEX vertices[] =
{
    { 300, -300, 0, 1, D3DCOLOR_XRGB(0, 0, 255) },
    { 0, 300, 0, 1, D3DCOLOR_XRGB(0, 255, 0) },
    { -300, -300, 0, 1, D3DCOLOR_XRGB(255, 0, 0) }
}

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

static const DWORD FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE;

有谁知道出了什么问题吗?我觉得我错过了一些非常愚蠢的东西。

谢谢!

坐标在您的屏幕之外。顶点的 X 和 Y 值在屏幕 space 中,其中左上角为 0,0,右下角为宽度、高度