本文整理汇总了C++中VertexFormat::GetVertexSize方法的典型用法代码示例。如果您正苦于以下问题:C++ VertexFormat::GetVertexSize方法的具体用法?C++ VertexFormat::GetVertexSize怎么用?C++ VertexFormat::GetVertexSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VertexFormat
的用法示例。
在下文中一共展示了VertexFormat::GetVertexSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnFirstUpdate
void SkinController::OnFirstUpdate()
{
// Get access to the vertex buffer positions to store the blended targets.
Visual* visual = reinterpret_cast<Visual*>(mObject);
VertexBuffer* vbuffer = visual->GetVertexBuffer().get();
if (mNumVertices == static_cast<int>(vbuffer->GetNumElements()))
{
// Get the position data.
VertexFormat vformat = vbuffer->GetFormat();
int const numAttributes = vformat.GetNumAttributes();
for (int i = 0; i < numAttributes; ++i)
{
VASemantic semantic;
DFType type;
unsigned int unit, offset;
if (vformat.GetAttribute(i, semantic, type, unit, offset))
{
if (semantic == VA_POSITION && (type == DF_R32G32B32_FLOAT
|| type == DF_R32G32B32A32_FLOAT))
{
mPosition = vbuffer->GetData() + offset;
mStride = vformat.GetVertexSize();
mCanUpdate = true;
break;
}
}
}
}
mCanUpdate = (mPosition != nullptr);
}