//----------------------------------------------------------------------------- Image & Image::loadRawData( DataStreamPtr& stream, size_t uWidth, size_t uHeight, size_t uDepth, PixelFormat eFormat, size_t numFaces, size_t numMipMaps) { OgreGuard( "Image::loadRawData" ); size_t size = calculateSize(numMipMaps, numFaces, uWidth, uHeight, uDepth, eFormat); if (size + stream->tell() != stream->size()) { OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS, "Stream size does not match calculated image size", "Image::loadRawData"); } uchar *buffer = new uchar[ size ]; stream->read(buffer, size); loadDynamicImage(buffer, uWidth, uHeight, uDepth, eFormat, true, numFaces, numMipMaps); OgreUnguardRet( *this ); }
//----------------------------------------------------------------------------- Image & Image::loadRawData( DataStreamPtr& stream, uint32 uWidth, uint32 uHeight, uint32 uDepth, PixelFormat eFormat, size_t numFaces, size_t numMipMaps) { size_t size = calculateSize(numMipMaps, numFaces, uWidth, uHeight, uDepth, eFormat); if (size != stream->size()) { OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS, "Stream size does not match calculated image size", "Image::loadRawData"); } uchar *buffer = OGRE_ALLOC_T(uchar, size, MEMCATEGORY_GENERAL); stream->read(buffer, size); return loadDynamicImage(buffer, uWidth, uHeight, uDepth, eFormat, true, numFaces, numMipMaps); }