本文整理汇总了C++中VertexDeclaration::removeAllElements方法的典型用法代码示例。如果您正苦于以下问题:C++ VertexDeclaration::removeAllElements方法的具体用法?C++ VertexDeclaration::removeAllElements怎么用?C++ VertexDeclaration::removeAllElements使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VertexDeclaration
的用法示例。
在下文中一共展示了VertexDeclaration::removeAllElements方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setupVertexDeclaration
//-----------------------------------------------------------------------
void BillboardChain::setupVertexDeclaration(void)
{
if (mVertexDeclDirty)
{
VertexDeclaration* decl = mVertexData->vertexDeclaration;
decl->removeAllElements();
size_t offset = 0;
// Add a description for the buffer of the positions of the vertices
decl->addElement(0, offset, VET_FLOAT3, VES_POSITION);
offset += VertexElement::getTypeSize(VET_FLOAT3);
if (mUseVertexColour)
{
decl->addElement(0, offset, VET_COLOUR, VES_DIFFUSE);
offset += VertexElement::getTypeSize(VET_COLOUR);
}
if (mUseTexCoords)
{
decl->addElement(0, offset, VET_FLOAT2, VES_TEXTURE_COORDINATES);
}
if (!mUseTexCoords && !mUseVertexColour)
{
LogManager::getSingleton().logMessage(
"Error - BillboardChain '" + mName + "' is using neither "
"texture coordinates or vertex colours; it will not be "
"visible on some rendering APIs so you should change this "
"so you use one or the other.");
}
mVertexDeclDirty = false;
}
}
示例2: SimpleRenderable
SurfacePatchRenderable::SurfacePatchRenderable() : SimpleRenderable()
{
// Set up what we can of the vertex data
mRenderOp.vertexData = new VertexData();
mRenderOp.vertexData->vertexStart = 0;
mRenderOp.vertexData->vertexCount = 0;
mRenderOp.operationType = RenderOperation::OT_TRIANGLE_LIST;
// Set up what we can of the index data
mRenderOp.indexData = new IndexData();
mRenderOp.useIndexes = true;
mRenderOp.indexData->indexStart = 0;
mRenderOp.indexData->indexCount = 0;
// Set up the vertex declaration
VertexDeclaration *decl = mRenderOp.vertexData->vertexDeclaration;
decl->removeAllElements();
decl->addElement(0, 0, VET_FLOAT3, VES_POSITION);
decl->addElement(0, 3 * sizeof(float), VET_FLOAT3, VES_NORMAL);
decl->addElement(0, 6 * sizeof(float), VET_FLOAT3, VES_TEXTURE_COORDINATES);
decl->addElement(0, 9 * sizeof(float), VET_FLOAT3, VES_TEXTURE_COORDINATES, 1);
}