C++ DirectX11纹理坐标和顶点

C++ DirectX11纹理坐标和顶点,c++,textures,directx-11,vertices,C++,Textures,Directx 11,Vertices,我是新来的 我正在从DIGTXX11开始学习DIXTX11,我是一个完整的初学者,但我确实有C++的知识。我遇到过纹理坐标以及它们是如何使用的,但我不理解用于指定顶点的代码片段。代码如下: // the structure used to store the vertices struct VertexPos { XMFLOAT3 pos; XMFLOAT2 tex0; }; // some code before reaching this point ... VertexP

我是新来的

我正在从DIGTXX11开始学习DIXTX11,我是一个完整的初学者,但我确实有C++的知识。我遇到过纹理坐标以及它们是如何使用的,但我不理解用于指定顶点的代码片段。代码如下:

// the structure used to store the vertices
struct VertexPos
{
    XMFLOAT3 pos;
    XMFLOAT2 tex0;
};

// some code before reaching this point
...
VertexPos vertices[] =
{
    { XMFLOAT3(  1.0f,  1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) },
    { XMFLOAT3(  1.0f, -1.0f, 1.0f ), XMFLOAT2( 1.0f, 0.0f ) },
    { XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) },

    { XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) },
    { XMFLOAT3( -1.0f,  1.0f, 1.0f ), XMFLOAT2( 0.0f, 1.0f ) },
    { XMFLOAT3(  1.0f,  1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) },
};
...

// shader file
Texture2D colorMap_ : register( t0 );
SamplerState colorSampler_ : register( s0 );


struct VS_Input
{
    float4 pos  : POSITION;
    float2 tex0 : TEXCOORD0;
};

struct PS_Input
{
    float4 pos  : SV_POSITION;
    float2 tex0 : TEXCOORD0;
};


PS_Input VS_Main( VS_Input vertex )
{
    PS_Input vsOut = ( PS_Input )0;
    vsOut.pos = vertex.pos;
    vsOut.tex0 = vertex.tex0;

    return vsOut;
}

我不明白为什么要指定6个职位。如果要制作一个矩形,是否可以指定4个值并从两个三角形制作一个矩形?这将加载一个纹理图像并显示它,我想知道顶点是如何工作的(如果可能的话,可以使用指定每个顶点位置的图形)。

我想说这个示例使用真实三角形(每个三角形3个顶点6),如果您想要4个顶点和两个三角形,您可以使用三角形带

我想说这个示例使用实三角形(每个三角形3个顶点加在一起6个),如果您想要4个顶点和两个三角形,您可以使用三角形带

请解释您看到的“指定4个值并从两个三角形生成一个矩形”和对两个三角形使用四个不同的坐标(其中两个使用两次),分成两组(每个组有三个不同的坐标)“。后者是引用的代码所做的,不是吗?我不确定代码对6个位置做了什么..以及这些位置如何用于纹理贴图,我不明白。请解释您看到的“指定4个值并从两个三角形生成一个矩形”和“使用四个不同的坐标”之间的差异(两次使用其中两个),分为两组(每个组有三个不同的三角形).后者是引用的代码所做的,不是吗?我不确定代码对6个位置做了什么..以及这些位置如何用于纹理映射,我不理解,它在代码中使用三角形列表..我需要知道的是顶点如何用于纹理映射..前3个顶点是一个三角形ngle,第二个3个顶点是三角形。三角形列表是整个三角形的列表。我画了前三个,看到了一个左角三角形,现在我更好地理解了代码,感谢Guy,实际上,它在代码中使用三角形列表。我需要知道的是顶点如何与正在映射的纹理一起使用。前3个顶点是三角形le,第二个3个顶点是三角形。三角形列表是整个三角形的列表。我画了前三个,看到了一个左三角形,现在我更好地理解了代码,谢谢大家