DXShaderSetLayout
DXShaderSetLayout
设置顶点着色器的顶点布局。
bool DXShaderSetLayout(
int shader, // 着色器句柄
const DXVertexLayout& layout[] //
);参数
- shader
[in] 在DXShaderCreate()中创建的顶点着色器句柄。
- layout[]
[in] 顶点字段描述数组。该描述通过DXVertexLayout结构设置:
struct DXVertexLayout
{
string semantic_name; // 在着色器输入签名中与此元素关联的HLSL语义。
uint semantic_index; // 此元素的语义索引。语义索引使用整数索引号修改语义。只有当存在多个具有相同语义的元素时,才需要语义索引
ENUM_DX_FORMAT format; // 元素数据的数据类型。
};返回值
如果执行成功,返回true,否则 - false。若要接收错误代码,应该调用GetLastError()函数。
注意
布局应该匹配指定顶点缓冲区中的顶点类型。还应该匹配顶点着色器代码中切入点使用的顶点输入类型。
着色器的顶点缓冲区在DXBufferSet()中设置。
DXVertexLayout结构是D3D11_INPUT_ELEMENT_DESC MSDN结构的一个版本。