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,右下角为宽度、高度
所以我正在重新编码我的渲染引擎,从基础开始。我 运行 是一个很奇怪的问题。我只是简单地渲染了一个三角形,但是位置都错了
这是我得到的(无法 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,右下角为宽度、高度