Ejemplo n.º 1
0
//----------------------------------------------------------------------
void FLOCK::update()
{
#ifdef CPU
    updateCPU();
#endif
#ifdef GPU
    updateGPU();
#endif
}
Ejemplo n.º 2
0
 bool UniformBlock::updateGPU(Renderer* r, int elemIndex, const UniformBlock& srcBlock)
 {
     int len = srcBlock.getTotalSize();
     int nelems = srcBlock.getTotalSize() / mElemSize;
     if ((elemIndex >= 0) &&
         (elemIndex + nelems <= mMaxElems))
     {
         const char* src = (const char*) srcBlock.getData();
         int start = mElemSize * elemIndex;
         mIsDirty = true;
         memcpy(mUniformData + start, src, len);
         updateGPU(r, start, len);
         elemIndex += nelems;
         if (elemIndex >= mNumElems)
         {
             setNumElems(elemIndex);
         }
         return true;
     }
     LOGE("UniformBlock::updateGPU ERROR %d out of range, maximum is %d", elemIndex, mMaxElems);
     return false;
 }