本文整理汇总了C++中VertexFormat::element方法的典型用法代码示例。如果您正苦于以下问题:C++ VertexFormat::element方法的具体用法?C++ VertexFormat::element怎么用?C++ VertexFormat::element使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VertexFormat
的用法示例。
在下文中一共展示了VertexFormat::element方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
int InputLayout::init(InputLayout& obj, const VertexFormat& vf, const void* code, size_t length)
{
NYX_ASSERT(obj._input_layout == nullptr);
ID3D11Device* device = RenderDevice::device();
D3D11_INPUT_ELEMENT_DESC descs[VertexFormat::MAX_ELEMENT_COUNT];
size_t element_count = vf.element_count();
for (size_t i = 0; i < element_count; ++i)
{
const VertexFormat::Element& elem = vf.element(i);
descs[i].SemanticName = vertex_semantic_to_string(elem.semantic);
descs[i].SemanticIndex = elem.semantic_index;
descs[i].Format = to_dxgi(elem.format);
descs[i].InputSlot = elem.input_slot;
descs[i].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
descs[i].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
descs[i].InstanceDataStepRate = 0;
}
HRESULT hr = device->CreateInputLayout(descs, element_count, code, length, &obj._input_layout);
if (FAILED(hr))
{
term(obj);
return 1;
}
return 0;
}