D3D11_INPUT_CLASSIFICATION 枚举是用于描述输入布局中输入槽的分类方式的枚举。该枚举定义了两个成员:

1. D3D11_INPUT_PER_VERTEX_DATA: 表示输入数据在每个顶点之间都是不同的。每个顶点都包含该输入数据的实例。

2. D3D11_INPUT_PER_INSTANCE_DATA: 表示输入数据在每个实例之间都是不同的。每个实例都包含该输入数据的实例。

这些成员通常在创建输入布局时使用,以确定输入槽中的数据是按照每个顶点还是每个实例进行分类的。例如,在顶点着色器中使用的数据可能是每个顶点都不同的位置信息,而实例着色器中使用的数据可能是每个实例都不同的颜色信息。

以下是一个使用 D3D11_INPUT_CLASSIFICATION 的例子:
// 定义输入元素描述
D3D11_INPUT_ELEMENT_DESC layout[] =
{
    { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
    { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
};

// 创建输入布局
hr = device->CreateInputLayout(layout, 2, vertexShaderBlob->GetBufferPointer(), vertexShaderBlob->GetBufferSize(), &inputLayout);

在上述例子中,D3D11_INPUT_PER_VERTEX_DATA 用于描述位置和颜色输入数据,表示这些数据是按照每个顶点进行分类的。


转载请注明出处:http://www.zyzy.cn/article/detail/25753/Win32 API/D3d11.h/D3D11_INPUT_CLASSIFICATION