【发布时间】:2013-10-07 13:26:47
【问题描述】:
我正在处理我的第一个 C++ 和 DirectX 11 项目,我目前的目标是在屏幕上绘制一个彩色三角形。这运行良好,没有任何问题。但是,有一个部分我想更改,但我不知道如何更改。我已经尝试过寻找解决方案,但我还没有找到任何解决方案,我猜是因为我真的不知道我应该寻找什么。
目前我像这样设置我的三角形 3 个顶点:
VertexPos vertices[] =
{
{ XMFLOAT3( 0.5f, 0.5f, 1.0f )},
{ XMFLOAT3( 0.5f, -0.5f, 1.0f )},
{ XMFLOAT3( -0.5f, -0.5f, 1.0f )},
}
VertexPos 的定义如下:
struct VertexPos
{
XMFLOAT3 pos;
};
目前,我的顶点位置设置在 -1.0F 到 1.0F 的范围内,其中 0.0F 是中心。我怎样才能改变它,以便我可以使用这样的“真实”坐标来定位我的顶点:
VertexPos vertices[] =
{
{ XMFLOAT3( 100.0f, 300.0f, 1.0f )},
{ XMFLOAT3( 200.0f, 200.0f, 1.0f )},
{ XMFLOAT3( 200.0f, 300.0f, 1.0f )},
}
【问题讨论】:
-
您必须设置一个适当的投影矩阵并将坐标与顶点着色器中的矩阵相乘。如果您刚刚开始,请阅读更多教程,您就会知道。
标签: c++ directx coordinates directx-11 vertices