本文整理汇总了C++中OptimisedUtilList::size方法的典型用法代码示例。如果您正苦于以下问题:C++ OptimisedUtilList::size方法的具体用法?C++ OptimisedUtilList::size怎么用?C++ OptimisedUtilList::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OptimisedUtilList
的用法示例。
在下文中一共展示了OptimisedUtilList::size方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: calculateLightFacing
/// @copydoc OptimisedUtil::calculateLightFacing
virtual void calculateLightFacing(
const Vector4& lightPos,
const Vector4* faceNormals,
char* lightFacings,
size_t numFaces)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->calculateLightFacing(
lightPos,
faceNormals,
lightFacings,
numFaces);
profile.end();
//
// Dagon SkeletonAnimation sample test results (CPU timestamp per-function call):
//
// Pentium 4 3.0G HT Athlon XP 2500+
//
// General 171875 86998
// SSE 47934 63995
//
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}
示例2: calculateFaceNormals
/// @copydoc OptimisedUtil::calculateFaceNormals
virtual void calculateFaceNormals(
const float *positions,
const EdgeData::Triangle *triangles,
Vector4 *faceNormals,
size_t numTriangles)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->calculateFaceNormals(
positions,
triangles,
faceNormals,
numTriangles);
profile.end();
//
// Dagon SkeletonAnimation sample test results (CPU timestamp per-function call):
//
// Pentium 4 3.0G HT Athlon XP 2500+
//
// General 657080 486494
// SSE 223559 399495
//
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}
示例3: softwareVertexMorph
virtual void softwareVertexMorph(
Real t,
const float *srcPos1, const float *srcPos2,
float *dstPos,
size_t pos1VSize, size_t pos2VSize, size_t dstVSize,
size_t numVertices,
bool morphNormals)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->softwareVertexMorph(
t,
srcPos1, srcPos2,
dstPos,
pos1VSize, pos2VSize, dstVSize,
numVertices,
morphNormals);
profile.end();
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}
示例4: softwareVertexSkinning
virtual void softwareVertexSkinning(
const float *srcPosPtr, float *destPosPtr,
const float *srcNormPtr, float *destNormPtr,
const float *blendWeightPtr, const unsigned char* blendIndexPtr,
const Matrix4* const* blendMatrices,
size_t srcPosStride, size_t destPosStride,
size_t srcNormStride, size_t destNormStride,
size_t blendWeightStride, size_t blendIndexStride,
size_t numWeightsPerVertex,
size_t numVertices)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->softwareVertexSkinning(
srcPosPtr, destPosPtr,
srcNormPtr, destNormPtr,
blendWeightPtr, blendIndexPtr,
blendMatrices,
srcPosStride, destPosStride,
srcNormStride, destNormStride,
blendWeightStride, blendIndexStride,
numWeightsPerVertex,
numVertices);
profile.end();
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}
示例5: extrudeVertices
virtual void extrudeVertices(
const Vector4& lightPos,
Real extrudeDist,
const float* srcPositions,
float* destPositions,
size_t numVertices)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->extrudeVertices(
lightPos,
extrudeDist,
srcPositions,
destPositions,
numVertices);
profile.end();
//
// Dagon SkeletonAnimation sample test results (CPU timestamp per-function call):
//
// Pentium 4 3.0G HT Athlon XP 2500+
//
// Directional Light, General 38106 92306
// Directional Light, SSE 27292 67055
//
// Point Light, General 224209 155483
// Point Light, SSE 56817 106663
//
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}
示例6: concatenateAffineMatrices
virtual void concatenateAffineMatrices(
const Matrix4& baseMatrix,
const Matrix4* srcMatrices,
Matrix4* dstMatrices,
size_t numMatrices)
{
static ProfileItems results;
static size_t index;
index = Root::getSingleton().getNextFrameNumber() % mOptimisedUtils.size();
OptimisedUtil* impl = mOptimisedUtils[index];
ProfileItem& profile = results[index];
profile.begin();
impl->concatenateAffineMatrices(
baseMatrix,
srcMatrices,
dstMatrices,
numMatrices);
profile.end();
// You can put break point here while running test application, to
// watch profile results.
++index; // So we can put break point here even if in release build
}