本文整理汇总了C++中IRenderable::WorldColor方法的典型用法代码示例。如果您正苦于以下问题:C++ IRenderable::WorldColor方法的具体用法?C++ IRenderable::WorldColor怎么用?C++ IRenderable::WorldColor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRenderable
的用法示例。
在下文中一共展示了IRenderable::WorldColor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddNodeToBuffer
void BaseBufferRenderBatch::AddNodeToBuffer(uint& refVertexIndex, uint& refIndexIndex, IRenderable& node)
{
auto mesh = node.Mesh();
const Matrix4& newMatrix = node.WorldMatrix();
mesh->AddToVertexBufferObject(mVertexBufferObject, refVertexIndex, newMatrix);
mesh->AddToNormalBufferObject(mNormalBufferObject, refVertexIndex, newMatrix);
mesh->AddToTexCoordBufferObject(mTexcoordBufferObject, refVertexIndex);
mesh->AddToColorBufferObject(mColorBufferObject, refVertexIndex, node.WorldColor());
mesh->AddToIndexBufferObject(mIndexBufferObject, refVertexIndex, refIndexIndex);
uintp vertexCount = mesh->VertexCount();
uintp indexCount = mesh->IndexCount();
node.SetBatch(this, refVertexIndex, (uint)vertexCount, refIndexIndex, (uint)indexCount);
refVertexIndex += (uint)vertexCount;
refIndexIndex += (uint)indexCount;
RenderingStatics::Instance().IncreaseChangedNodeCount();
}
示例2: UpdateNodeToBuffer
void BaseBufferRenderBatch::UpdateNodeToBuffer(uint& refVertexIndex, uint& refIndexIndex, IRenderable& node, RenderableChangedFlags changedFlags)
{
auto mesh = node.Mesh();
if (MEDUSA_FLAG_HAS(changedFlags,RenderableChangedFlags::NewVertex))
{
const Matrix4& newMatrix = node.WorldMatrix();
mesh->AddToVertexBufferObject(mVertexBufferObject, refVertexIndex, newMatrix);
}
if (MEDUSA_FLAG_HAS(changedFlags, RenderableChangedFlags::NewNormal))
{
const Matrix4& newMatrix = node.WorldMatrix();
mesh->AddToNormalBufferObject(mNormalBufferObject, refVertexIndex, newMatrix);
}
if (MEDUSA_FLAG_HAS(changedFlags, RenderableChangedFlags::NewTexCoord))
{
mesh->AddToTexCoordBufferObject(mTexcoordBufferObject, refVertexIndex);
}
if (MEDUSA_FLAG_HAS(changedFlags, RenderableChangedFlags::NewColor))
{
mesh->AddToColorBufferObject(mColorBufferObject, refVertexIndex, node.WorldColor());
}
if (MEDUSA_FLAG_HAS(changedFlags, RenderableChangedFlags::NewIndex))
{
mesh->AddToIndexBufferObject(mIndexBufferObject, refVertexIndex, refIndexIndex);
}
uintp vertexCount = mesh->VertexCount();
uintp indexCount = mesh->IndexCount();
node.SetBatch(this, refVertexIndex, (uint)vertexCount, refIndexIndex, (uint)indexCount);
refVertexIndex += (uint)vertexCount;
refIndexIndex += (uint)indexCount;
RenderingStatics::Instance().IncreaseChangedNodeCount();
}