本文整理汇总了C++中HardwarePixelBufferSharedPtr::getPointer方法的典型用法代码示例。如果您正苦于以下问题:C++ HardwarePixelBufferSharedPtr::getPointer方法的具体用法?C++ HardwarePixelBufferSharedPtr::getPointer怎么用?C++ HardwarePixelBufferSharedPtr::getPointer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HardwarePixelBufferSharedPtr
的用法示例。
在下文中一共展示了HardwarePixelBufferSharedPtr::getPointer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: blit
//-----------------------------------------------------------------------------
void GLESTextureBuffer::blit(const HardwarePixelBufferSharedPtr &src, const Image::Box &srcBox, const Image::Box &dstBox)
{
GLESTextureBuffer *srct = static_cast<GLESTextureBuffer *>(src.getPointer());
// TODO: Check for FBO support first
// Destination texture must be 2D
// Source texture must be 2D
if((src->getUsage() & TU_RENDERTARGET) == 0 && (srct->mTarget == GL_TEXTURE_2D))
{
blitFromTexture(srct, srcBox, dstBox);
}
else
{
GLESHardwarePixelBuffer::blit(src, srcBox, dstBox);
}
}
示例2: blit
void HardwarePixelBuffer::blit(const HardwarePixelBufferSharedPtr &src, const Image::Box &srcBox, const Image::Box &dstBox)
{
if(isLocked() || src->isLocked())
{
OGRE_EXCEPT(Exception::ERR_INTERNAL_ERROR,
"Source and destination buffer may not be locked!",
"HardwarePixelBuffer::blit");
}
if(src.getPointer() == this)
{
OGRE_EXCEPT( Exception::ERR_INVALIDPARAMS,
"Source must not be the same object",
"HardwarePixelBuffer::blit" ) ;
}
const PixelBox &srclock = src->lock(srcBox, HBL_READ_ONLY);
LockOptions method = HBL_NORMAL;
if(dstBox.left == 0 && dstBox.top == 0 && dstBox.front == 0 &&
dstBox.right == mWidth && dstBox.bottom == mHeight &&
dstBox.back == mDepth)
// Entire buffer -- we can discard the previous contents
method = HBL_DISCARD;
const PixelBox &dstlock = lock(dstBox, method);
if(dstlock.getWidth() != srclock.getWidth() ||
dstlock.getHeight() != srclock.getHeight() ||
dstlock.getDepth() != srclock.getDepth())
{
// Scaling desired
Image::scale(srclock, dstlock);
}
else
{
// No scaling needed
PixelUtil::bulkPixelConversion(srclock, dstlock);
}
unlock();
src->unlock();
}